Repository: ecadlabs/taquito
Pull request #1044 (2021-09-08 20:29:43)

Key ordering
Thank you for your contribution to Taquito.

Before submitting this PR, please make sure:

- [x] Your code builds cleanly without any errors or warnings
- [x] You have added unit tests
- [x] You have added integration tests (if relevant/appropriate)
- [ ] All public methods or types have TypeDoc coverage with a complete description, and ideally an @example
- [ ] You have added or updated corresponding documentation
- [x] If relevant, you have written a first draft summary describing the change for inclusion in Release Notes. 

## Release Note Draft Snippet
Fixed key sorting in literal sets and maps when these collections have mixed key types.

## Details
Before this fix, we couldn't send key sets containing multiple key types (Ed25519, Secp256k1, P256) to RPC, e.g.
```json
[
   "edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g",
   "sppk7aVdgAmezMCRTcHciVkVZoGNnhSdKEYcn5pYaqt4PvLjgFbLRxo",
   "p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT"
]
```
If we try to use this set we'll get an error `michelson_v1.unordered_set_literal`, as the michelson encoder sorts the set using the default compare method, method of the `ComparableToken` class. In other words, the encoder sorts the set using alphabetic sorting.
Unfortunately, I've found no description of the expected behavior in docs for this case, but the [current implementation says](https://gitlab.com/tezos/tezos/-/blob/master/src/lib_crypto/signature.ml#L268-277):
1. Ed25519 keys should go first, then Secp256k1 keys, and P256 keys finally.
2. if two keys are the same type:
    * if the type is Ed25519  -> compare keys using the alphabetical comparison;
    * is Secp256k1 ->  compare keys using the alphabetical comparison;
    * is P256  -> ~~alphabetical comparison~~ use the custom comparison, I wrote details below;

### Comparison algorithm of P256 keys
If we try to use the following set as literal:
```
[
   "p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV",
   "p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi",
   "p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT"
]
```
We also get the error, `michelson_v1.unordered_set_literal`. The P256 keys use the custom comparison that I haven't found an implementation of. I suppose the implementation is [located somewhere here](https://gitlab.com/tezos/tezos/-/blob/master/src/lib_crypto/p256.ml), but I don't know OCaml :) 
After several tests I guess the algorithm probably is the following:
1. Decode keys from b58;
2. Compare receiving bytes ignoring the first byte;
Maybe I'm wrong, but I've tried to test on different keys, and I couldn't reproduce the error.

<details>
  <summary>Source Code of the test contract (ReasonLIGO)</summary>

```reason
type storage = {
    keySet: set(key),
    keyMap: map(key, int)
};

type parameter =
    | SetSet (set(key))
    | SetMap (map(key, int));

type main_result = (list (operation), storage);
   
let main = ((action, storage) : (parameter, storage)) : main_result => (
 ([]: list(operation)),
 switch (action) { 
  | SetSet(new_set) => { ...storage, keySet: new_set }; 
  | SetMap(new_map) => { ...storage, keyMap: new_map }; 
 }
)
```
</details>


Patch:
diff --git a/docs/complex_parameters.md b/docs/complex_parameters.md
index 82509dc4f..e25e1e7c8 100644
--- a/docs/complex_parameters.md
+++ b/docs/complex_parameters.md
@@ -54,7 +54,7 @@ An annotation identifies every argument. Therefore we can ignore optional values
 ```js live noInline
 // import { TezosToolkit, MichelsonMap } from '@taquito/taquito';
 // import { importKey } from '@taquito/signer';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/edonet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 //%data
 const dataMap = new MichelsonMap();
@@ -131,7 +131,7 @@ The way to write the parameter when calling the function of a contract with Taqu
 
 ```js live noInline
 // import { TezosToolkit, MichelsonMap } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/edonet')
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie')
 // import { importKey } from '@taquito/signer';
 
 importKey(Tezos, emailExample, passwordExample, mnemonicExample, secretExample)
@@ -149,7 +149,7 @@ importKey(Tezos, emailExample, passwordExample, mnemonicExample, secretExample)
 
 ```js live noInline
 // import { TezosToolkit, MichelsonMap } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/edonet')
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie')
 // import { importKey } from '@taquito/signer';
 
 importKey(Tezos, emailExample, passwordExample, mnemonicExample, secretExample)
@@ -180,7 +180,7 @@ The `address %address` and the `nat %ttl` of the `set_child_record` function are
 
 ```js live noInline
 // import { TezosToolkit, MichelsonMap } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet')
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie')
 // import { importKey } from '@taquito/signer';
 
 importKey(Tezos, emailExample, passwordExample, mnemonicExample, secretExample)
diff --git a/docs/drain_account.md b/docs/drain_account.md
index cc22519ef..6a9892227 100644
--- a/docs/drain_account.md
+++ b/docs/drain_account.md
@@ -22,7 +22,7 @@ In the following example, we have not revealed the account that we want to empty
 :::
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 // import { DEFAULT_FEE } from "@taquito/taquito";
 
 Tezos.signer
@@ -87,7 +87,7 @@ The contract we originate is a `manager contract.` It has a `do` method taking a
 In the example, we estimate the transfer operation before doing it. The associated fees are deducted from the manager's address when draining the account. Thus, for the operation to be successful, the manager's address for that account must contain funds to cover the gas.
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 function transferImplicit(key, mutez) {
   return [
diff --git a/docs/estimate.md b/docs/estimate.md
index 52c85f3f5..7762b80b0 100644
--- a/docs/estimate.md
+++ b/docs/estimate.md
@@ -27,7 +27,7 @@ The following example shows an estimate of the fees associated with transferring
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 const amount = 2;
 const address = 'tz1h3rQ8wBxFd8L9B3d7Jhaawu6Z568XU3xY';
@@ -53,7 +53,7 @@ This example will demonstrate how to estimate the fees related to calling a smar
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .at('KT1HN6wQquJDFBvRH4Tsbx9SVazK7KzHXZYs')
@@ -84,7 +84,7 @@ In this example, we will use the estimate method of Taquito on a contract origin
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 println(`Estimating the contract origination : `);
 Tezos.estimate
diff --git a/docs/inmemory_signer.md b/docs/inmemory_signer.md
index 4c8085a37..1efd6fe66 100644
--- a/docs/inmemory_signer.md
+++ b/docs/inmemory_signer.md
@@ -40,7 +40,7 @@ The `fromSecretKey` method takes a secret that is base58 encoded as a parameter.
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito'
 // import { InMemorySigner } from '@taquito/signer'
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 InMemorySigner.fromSecretKey('edsk2rKA8YEExg9Zo2qNPiQnnYheF1DhqjLVmfKdxiFfu5GyGRZRnb')
   .then((theSigner) => {
@@ -57,7 +57,7 @@ InMemorySigner.fromSecretKey('edsk2rKA8YEExg9Zo2qNPiQnnYheF1DhqjLVmfKdxiFfu5GyGR
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito'
 // import { InMemorySigner } from '@taquito/signer'
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 InMemorySigner.fromSecretKey('spsk2Fiz7sGP5fNMJrokp6ynTa4bcFbsRhw58FHXbNf5ProDNFJ5Xq')
   .then((theSigner) => {
@@ -77,7 +77,7 @@ When required, Taquito offers the `b58cencode` function allowing to encode the s
 // import { b58cencode, prefix, Prefix } from '@taquito/utils';
 // import { TezosToolkit } from '@taquito/taquito'
 // import { InMemorySigner } from '@taquito/signer'
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 const b58encodedSecret = b58cencode(
   '7c842c15c8b0c8fd228e6cb5302a50201f41642dd36b699003fb3c857920bc9d',
@@ -118,7 +118,7 @@ Here are three examples with encrypted private keys where the passphrase used is
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito'
 // import { InMemorySigner } from '@taquito/signer'
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 InMemorySigner.fromSecretKey(
   'edesk1GXwWmGjXiLHBKxGBxwmNvG21vKBh6FBxc4CyJ8adQQE2avP5vBB57ZUZ93Anm7i4k8RmsHaPzVAvpnHkFF',
@@ -138,7 +138,7 @@ InMemorySigner.fromSecretKey(
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito'
 // import { InMemorySigner } from '@taquito/signer'
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 InMemorySigner.fromSecretKey(
   'spesk24UQkAiJk8X6AufNtRv1WWPp2BAssEgmijCTQPMgUXweSKPmLdbyAjPmCG1pR2dC9P5UZZVeZcb7zVodUHZ',
@@ -158,7 +158,7 @@ InMemorySigner.fromSecretKey(
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito'
 // import { InMemorySigner } from '@taquito/signer'
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 InMemorySigner.fromSecretKey(
   'p2esk28hoUE2J88QNFj2aDX2pjzL7wcVh2g8tkEwtWWguby9M3FHUgSbzvF2Sd7wQ4Kd8crFwvto6gF3otcBuo4T',
diff --git a/docs/ledger_signer.md b/docs/ledger_signer.md
index 5be84f0c9..bc760907e 100644
--- a/docs/ledger_signer.md
+++ b/docs/ledger_signer.md
@@ -189,7 +189,7 @@ _Note that this example is not intended to be a complete example of paths scanni
 //import { LedgerSigner, DerivationType, HDPathTemplate } from '@taquito/ledger-signer';
 //import { TezosToolkit } from '@taquito/taquito';
 //import TransportU2F from "@ledgerhq/hw-transport-u2f";
-//const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+//const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 TransportU2F.create().then((transport) => {
   for (let index = 0, p = Promise.resolve(); index < 10; index++) {
diff --git a/docs/making_transfers.md b/docs/making_transfers.md
index c035159b9..649688522 100644
--- a/docs/making_transfers.md
+++ b/docs/making_transfers.md
@@ -23,7 +23,7 @@ In the following example, we transfer 0.5ꜩ from a `tz1aaYoabvj2DQtpHz74Z83fSNj
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 render(`Fetching a private key...`);
 fetch('https://api.tez.ie/keys/granadanet/', {
diff --git a/docs/maps_bigmaps.md b/docs/maps_bigmaps.md
index af83c7f76..8f380e191 100644
--- a/docs/maps_bigmaps.md
+++ b/docs/maps_bigmaps.md
@@ -445,7 +445,7 @@ In the following example, we will fetch 4 big map values at once. The Michelson
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .at('KT1VznL7HErrymLxc6EoXsatQ9mEiRE8WL6N')
diff --git a/docs/originate.md b/docs/originate.md
index c089180ea..ac420098a 100644
--- a/docs/originate.md
+++ b/docs/originate.md
@@ -35,7 +35,7 @@ This requires a signer to be configured, ie:
 ```
 import { importKey } from '@taquito/signer';
 import { TezosToolkit } from '@taquito/taquito';
-const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 importKey(Tezos, "p2sk2obfVMEuPUnadAConLWk7Tf4Dt3n4svSgJwrgpamRqJXvaYcg1")
 ```
 
@@ -45,7 +45,7 @@ importKey(Tezos, "p2sk2obfVMEuPUnadAConLWk7Tf4Dt3n4svSgJwrgpamRqJXvaYcg1")
 ```
 import {  BeaconWallet } from '@taquito/beacon-wallet';
 import { TezosToolkit } from '@taquito/taquito';
-const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 const option = { name: "nameOfWallet" }
 const wallet = new BeaconWallet(option)
 const network = { type: "florencenet" }
@@ -86,7 +86,7 @@ values={[
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 // const genericMultisigJSONfile = require('./generic.json')
 // generic.json is referring to Michelson source code in JSON representation
@@ -115,7 +115,7 @@ Tezos.contract
 
 ```js live noInline wallet
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 // const genericMultisigJSONfile = require('./generic.json')
 // generic.json is referring to Michelson source code in JSON representation
@@ -157,7 +157,7 @@ values={[
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 // const genericMultisigJSONfile = require('./generic.json')
 // generic.json is referring to Michelson source code in JSON representation
@@ -182,7 +182,7 @@ Tezos.contract
 
 ```js live noInline wallet
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 // const genericMultisigJSONfile = require('./generic.json')
 // generic.json is referring to Michelson source code in JSON representation
@@ -218,7 +218,7 @@ values={[
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 // const genericMultisigJSONfile = require('./generic.json')
 // generic.json is referring to Michelson source code in JSON representation
@@ -255,7 +255,7 @@ Tezos.contract
 
 ```js live noInline wallet
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 // const genericMultisigJSONfile = require('./generic.json')
 // generic.json is referring to Michelson source code in JSON representation
diff --git a/docs/quick_start.md b/docs/quick_start.md
index e712420fe..4d8f8f915 100644
--- a/docs/quick_start.md
+++ b/docs/quick_start.md
@@ -49,7 +49,7 @@ tezos.setProvider({ signer: new TezBridgeSigner() });
 
 ```js live noInline
 // import { TezosToolkit } from '@taquito/taquito';
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.tz
   .getBalance('tz1h3rQ8wBxFd8L9B3d7Jhaawu6Z568XU3xY')
diff --git a/docs/smartcontracts.md b/docs/smartcontracts.md
index c25b8cdd5..8d0d1aa07 100644
--- a/docs/smartcontracts.md
+++ b/docs/smartcontracts.md
@@ -92,7 +92,7 @@ We can inspect the contract methods and data types using the `c.parameterSchema.
 The following example shows how to load the contract and view the methods on that contract.
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .at('KT1WSAFm8PzQPhj5wBFRfneTL8smSaJ45BLt')
@@ -115,7 +115,7 @@ In Tezos, to call an entrypoint on a contract, one must send a transfer operatio
 We can inspect the transfer params produced by Taquito using the `toTransferParams()` method:
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .at('KT1WSAFm8PzQPhj5wBFRfneTL8smSaJ45BLt')
@@ -135,7 +135,7 @@ We call the `send()` method on the `increment()` method. Taquito then forges thi
 Then we wait for the confirmation(3)` to complete. The `3` number tells Taquito how many confirmations to wait for before resolving the promise. `3` is a good value for this type of demonstration, but we recommend a higher value if you are dealing with mainnet transactions.
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .at('KT1WSAFm8PzQPhj5wBFRfneTL8smSaJ45BLt')
diff --git a/docs/storage_annotations.md b/docs/storage_annotations.md
index e27f41f99..54dcf3236 100644
--- a/docs/storage_annotations.md
+++ b/docs/storage_annotations.md
@@ -26,7 +26,7 @@ To do so, let's look at three examples of contract origination showing initial v
 We need to write the storage as a Javascript object and include the annotated names in it.
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .originate({
@@ -64,7 +64,7 @@ Tezos.contract
 All properties in storage are accessible by the index corresponding to the order that the storage is defined.
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .originate({
@@ -104,7 +104,7 @@ In the following example, only the elements in positions 2 and 3 have an annotat
 Note that when proprieties have annotations, we cannot access them by index. For example, if you replace "theNat" by 2 and "theNumber" by 3 in this code example, it will fail.
 
 ```js live noInline
-// const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+// const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
 
 Tezos.contract
   .originate({
diff --git a/example/contract-schema.ts b/example/contract-schema.ts
index 40b5d36f6..50d4dbc05 100644
--- a/example/contract-schema.ts
+++ b/example/contract-schema.ts
@@ -3,7 +3,7 @@ import { InMemorySigner } from '@taquito/signer';
 
 
 async function example() {
-    const provider = 'https://api.tez.ie/rpc/granadanet';
+    const provider = 'https://granadanet.api.tez.ie';
     const signer: any = new InMemorySigner('edskRtmEwZxRzwd1obV9pJzAoLoxXFWTSHbgqpDBRHx1Ktzo5yVuJ37e2R4nzjLnNbxFU4UiBU1iHzAy52pK5YBRpaFwLbByca');
     const tezos = new TezosToolkit(provider);
     tezos.setSignerProvider( signer );
diff --git a/example/deploy-lambda-contract.ts b/example/deploy-lambda-contract.ts
index 89c7d026d..eb2513e90 100644
--- a/example/deploy-lambda-contract.ts
+++ b/example/deploy-lambda-contract.ts
@@ -2,7 +2,7 @@ import { TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 import { VIEW_LAMBDA } from '../packages/taquito/src/contract/view_lambda';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/example/example-MapValuesMultipleBigMaps.ts b/example/example-MapValuesMultipleBigMaps.ts
index 402a0958b..58e20aa81 100644
--- a/example/example-MapValuesMultipleBigMaps.ts
+++ b/example/example-MapValuesMultipleBigMaps.ts
@@ -2,7 +2,7 @@ import { MichelsonMap, TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 import { tokenCode } from '../integration-tests/data/tokens';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-Tzip12BigMapOffChain.ts b/example/example-Tzip12BigMapOffChain.ts
index f128b4584..dd66d3b65 100644
--- a/example/example-Tzip12BigMapOffChain.ts
+++ b/example/example-Tzip12BigMapOffChain.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { fa2ForTokenMetadataView } from '../integration-tests/data/fa2-for-token-metadata-view';
 import { b58cencode, char2Bytes, Prefix, prefix } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 const nodeCrypto = require('crypto');
 
diff --git a/example/example-Tzip12BigMapTokenMetadata.ts b/example/example-Tzip12BigMapTokenMetadata.ts
index 02b458747..2a9fe8679 100644
--- a/example/example-Tzip12BigMapTokenMetadata.ts
+++ b/example/example-Tzip12BigMapTokenMetadata.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { b58cencode, char2Bytes, Prefix, prefix } from '@taquito/utils';
 import { fa2TokenFactory } from '../integration-tests/data/fa2-token-factory';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 const nodeCrypto = require('crypto');
 
diff --git a/example/example-Tzip16Https.ts b/example/example-Tzip16Https.ts
index dd55d24e4..38e5b56a0 100644
--- a/example/example-Tzip16Https.ts
+++ b/example/example-Tzip16Https.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { tacoContractTzip16 } from "../integration-tests/data/modified-taco-contract"
 import { char2Bytes } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-Tzip16IPFS.ts b/example/example-Tzip16IPFS.ts
index a674a71c3..b03f1beba 100644
--- a/example/example-Tzip16IPFS.ts
+++ b/example/example-Tzip16IPFS.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { tacoContractTzip16 } from "../integration-tests/data/modified-taco-contract"
 import { char2Bytes } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-Tzip16OnChainOne.ts b/example/example-Tzip16OnChainOne.ts
index d01271b7e..28cf3ae47 100644
--- a/example/example-Tzip16OnChainOne.ts
+++ b/example/example-Tzip16OnChainOne.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { contractCode, metadataViewsExample1 } from '../integration-tests/data/metadataViews';
 import { char2Bytes } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-Tzip16OnChainTwo.ts b/example/example-Tzip16OnChainTwo.ts
index d52635333..ff952cbac 100644
--- a/example/example-Tzip16OnChainTwo.ts
+++ b/example/example-Tzip16OnChainTwo.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { contractCode, metadataViewsExample2 } from '../integration-tests/data/metadataViews';
 import { char2Bytes } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-Tzip16SHA256.ts b/example/example-Tzip16SHA256.ts
index 8369fa058..23680f76b 100644
--- a/example/example-Tzip16SHA256.ts
+++ b/example/example-Tzip16SHA256.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { tacoContractTzip16 } from "../integration-tests/data/modified-taco-contract"
 import { char2Bytes } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-Tzip16Storage.ts b/example/example-Tzip16Storage.ts
index 084bde8db..a1a7947fc 100644
--- a/example/example-Tzip16Storage.ts
+++ b/example/example-Tzip16Storage.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { tacoContractTzip16 } from "../integration-tests/data/modified-taco-contract"
 import { char2Bytes } from '@taquito/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-activate.ts b/example/example-activate.ts
index 290e38c4c..f2432c4f1 100644
--- a/example/example-activate.ts
+++ b/example/example-activate.ts
@@ -2,7 +2,7 @@ import { TezosToolkit } from '@taquito/taquito'
 import { InMemorySigner } from '@taquito/signer';
 
 async function example() {
-    const provider = 'https://api.tez.ie/rpc/granadanet';
+    const provider = 'https://granadanet.api.tez.ie';
     const signer: any = new InMemorySigner('edskRtmEwZxRzwd1obV9pJzAoLoxXFWTSHbgqpDBRHx1Ktzo5yVuJ37e2R4nzjLnNbxFU4UiBU1iHzAy52pK5YBRpaFwLbByca');
     const tezos = new TezosToolkit(provider);
     tezos.setSignerProvider( signer );
diff --git a/example/example-contract-originate-Ligo-Simple.ts b/example/example-contract-originate-Ligo-Simple.ts
index ae22c76aa..734e023a6 100644
--- a/example/example-contract-originate-Ligo-Simple.ts
+++ b/example/example-contract-originate-Ligo-Simple.ts
@@ -3,7 +3,7 @@ import { ligoSample } from '../integration-tests/data/ligo-simple-contract';
 
 import { importKey } from '@taquito/signer';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-contract-originate-Ligo-vote.ts b/example/example-contract-originate-Ligo-vote.ts
index ac1675531..8cf97f537 100644
--- a/example/example-contract-originate-Ligo-vote.ts
+++ b/example/example-contract-originate-Ligo-vote.ts
@@ -2,7 +2,7 @@ import { TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 import { voteInitSample, voteSample } from '../integration-tests/data/vote-contract';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/example/example-contract-originate-hello-world.ts b/example/example-contract-originate-hello-world.ts
index 08a3945ce..22c53159d 100644
--- a/example/example-contract-originate-hello-world.ts
+++ b/example/example-contract-originate-hello-world.ts
@@ -1,7 +1,7 @@
 import { TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 
-const provider = 'https://api.tez.ie/rpc/florencenet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/example/example-lambda-origination-one.ts b/example/example-lambda-origination-one.ts
index d44fe1736..004da6ceb 100644
--- a/example/example-lambda-origination-one.ts
+++ b/example/example-lambda-origination-one.ts
@@ -2,7 +2,7 @@ import { MichelsonMap, TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 import { tzip7Contract } from '../integration-tests/data/tzip_7_contract';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-lambda-origination-two.ts b/example/example-lambda-origination-two.ts
index b94fd31d3..e8ee41cf5 100644
--- a/example/example-lambda-origination-two.ts
+++ b/example/example-lambda-origination-two.ts
@@ -2,7 +2,7 @@ import { MichelsonMap, TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 import { fa2Contract } from '../integration-tests/data/fa2_contract';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider)
diff --git a/example/example-node.ts b/example/example-node.ts
index 0ffd8197c..46cf59320 100644
--- a/example/example-node.ts
+++ b/example/example-node.ts
@@ -2,7 +2,7 @@ import { TezosToolkit } from '../packages/taquito/src/taquito';
 import { RpcClient } from '../packages/taquito-rpc/src/taquito-rpc';
 import { castToString } from '../packages/taquito-rpc/src/utils/utils';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 const client = new RpcClient(provider);
 
 async function example() {
diff --git a/example/example-parallel-bigmap-local-vs-rpc-pack.ts b/example/example-parallel-bigmap-local-vs-rpc-pack.ts
index 9a1aa7267..91bfda428 100644
--- a/example/example-parallel-bigmap-local-vs-rpc-pack.ts
+++ b/example/example-parallel-bigmap-local-vs-rpc-pack.ts
@@ -1,7 +1,7 @@
 import { BigMapAbstraction, TezosToolkit, MichelCodecPacker } from '@taquito/taquito';
 import BigNumber from 'bignumber.js';
 
-const rpc = 'https://api.tez.ie/rpc/granadanet';
+const rpc = 'https://granadanet.api.tez.ie';
 const numberOfValueToFetch = 810; // max 810
 const repeat = 1; // How many time we want to fetch all the keys
 
diff --git a/example/example-permits.ts b/example/example-permits.ts
index 1ad4daf1c..d1d68c428 100644
--- a/example/example-permits.ts
+++ b/example/example-permits.ts
@@ -10,7 +10,7 @@
  
  const blake = require('blakejs');
  const bob_address = 'tz1Xk7HkSwHv6dTEgR7E2WC2yFj4cyyuj2Gh';
- const Tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+ const Tezos = new TezosToolkit('https://granadanet.api.tez.ie');
  
  const FAUCET_KEY = {
    mnemonic: [
diff --git a/example/example-sequential-bigmap-local-vs-rpc-pack.ts b/example/example-sequential-bigmap-local-vs-rpc-pack.ts
index 2f4e19385..22b713725 100644
--- a/example/example-sequential-bigmap-local-vs-rpc-pack.ts
+++ b/example/example-sequential-bigmap-local-vs-rpc-pack.ts
@@ -1,7 +1,7 @@
 import { BigMapAbstraction, TezosToolkit, MichelCodecPacker } from '@taquito/taquito';
 import BigNumber from 'bignumber.js';
 
-const rpc = 'https://api.tez.ie/rpc/granadanet';
+const rpc = 'https://granadanet.api.tez.ie';
 const numberOfValueToFetch = 810; // max 810
 const repeat = 1; // How many time we want to fetch all the keys
 
diff --git a/example/example-smart-contract-origination.ts b/example/example-smart-contract-origination.ts
index 42f8355d0..c99d86edf 100644
--- a/example/example-smart-contract-origination.ts
+++ b/example/example-smart-contract-origination.ts
@@ -1,7 +1,7 @@
 import { TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/example/example-streamer.ts b/example/example-streamer.ts
index 177c3133e..28e8bc8bc 100644
--- a/example/example-streamer.ts
+++ b/example/example-streamer.ts
@@ -1,7 +1,7 @@
 import { TezosToolkit } from '@taquito/taquito';
 
 async function example() {
-  const provider = 'https://api.tez.ie/rpc/mainnet';
+  const provider = 'https://mainnet.api.tez.ie/';
   const tezos = new TezosToolkit(provider)
   tezos.setProvider({ config: { shouldObservableSubscriptionRetry: true, streamerPollingIntervalMilliseconds: 15000 } });
   try {
diff --git a/example/example-tzip16.ts b/example/example-tzip16.ts
index ef97302f0..8df29dd04 100644
--- a/example/example-tzip16.ts
+++ b/example/example-tzip16.ts
@@ -4,7 +4,7 @@ import { tzip16, Tzip16Module } from '@taquito/tzip16';
 async function example() {
   try {
 
-    const tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet');
+    const tezos = new TezosToolkit('https://granadanet.api.tez.ie');
     tezos.addExtension(new Tzip16Module());
     const contract = await tezos.contract.at("KT1LhUqpUGfxZaJFMrxAZ6WNAuM8FPjDLBcE", tzip16)
     const metadata = await contract.tzip16().getMetadata();
diff --git a/example/package-lock.json b/example/package-lock.json
index f94e2e9e3..f0fba7f19 100644
--- a/example/package-lock.json
+++ b/example/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/example",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/example/package.json b/example/package.json
index c4a55f634..2a3a0e612 100644
--- a/example/package.json
+++ b/example/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@taquito/example",
   "private": true,
-  "version": "10.1.0",
+  "version": "10.1.2",
   "scripts": {
     "example:at": "node -r ts-node/register --preserve-symlinks contract-schema.ts",
     "example:origination": "node -r ts-node/register --preserve-symlinks example-contract-originate-hello-world.ts",
@@ -21,12 +21,12 @@
   },
   "dependencies": {
     "@ledgerhq/hw-transport-node-hid": "^5.43.0",
-    "@taquito/ledger-signer": "^10.1.0",
-    "@taquito/michel-codec": "^10.1.0",
-    "@taquito/michelson-encoder": "^10.1.0",
-    "@taquito/signer": "^10.1.0",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/tzip16": "^10.1.0",
+    "@taquito/ledger-signer": "^10.1.2",
+    "@taquito/michel-codec": "^10.1.2",
+    "@taquito/michelson-encoder": "^10.1.2",
+    "@taquito/signer": "^10.1.2",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/tzip16": "^10.1.2",
     "bignumber.js": "^9.0.1"
   },
   "devDependencies": {
diff --git a/example/pretty-print-contract.ts b/example/pretty-print-contract.ts
index d91ffb18e..6093bb569 100644
--- a/example/pretty-print-contract.ts
+++ b/example/pretty-print-contract.ts
@@ -1,7 +1,7 @@
 import { Parser, emitMicheline } from '@taquito/michel-codec'
 import { TezosToolkit } from '@taquito/taquito';
 
-const provider = 'https://api.tez.ie/rpc/mainnet';
+const provider = 'https://mainnet.api.tez.ie/';
 
 const example = async () => {
 
diff --git a/example/scan-path-ledger.ts b/example/scan-path-ledger.ts
index ea7e4d0da..9a331c520 100644
--- a/example/scan-path-ledger.ts
+++ b/example/scan-path-ledger.ts
@@ -7,7 +7,7 @@ async function example() {
 
     const transport = await TransportNodeHid.create();
     let index = 0;
-    const tezos = new TezosToolkit('https://api.tez.ie/rpc/granadanet')
+    const tezos = new TezosToolkit('https://granadanet.api.tez.ie')
     while (index < 10) {
         const ledgerSigner = new LedgerSigner(transport, `44'/1729'/${index}'/0'`, false, DerivationType.ED25519);
         tezos.setProvider({ signer: ledgerSigner });
diff --git a/example/wallet-originate-areyouthere.ts b/example/wallet-originate-areyouthere.ts
index 123330918..e7861e037 100644
--- a/example/wallet-originate-areyouthere.ts
+++ b/example/wallet-originate-areyouthere.ts
@@ -1,7 +1,7 @@
 import { TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/example/wallet-originate-contract-transfer.ts b/example/wallet-originate-contract-transfer.ts
index 54d8370fb..e84465815 100644
--- a/example/wallet-originate-contract-transfer.ts
+++ b/example/wallet-originate-contract-transfer.ts
@@ -1,7 +1,7 @@
 import { TezosToolkit } from '@taquito/taquito';
 import { importKey } from '@taquito/signer';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/lerna.json b/lerna.json
index ace9cba9c..79a82c9c3 100644
--- a/lerna.json
+++ b/lerna.json
@@ -7,5 +7,5 @@
     "packages/taquito-michel-codec/pack-test-tool",
     "website"
   ],
-  "version": "10.1.0"
+  "version": "10.1.2"
 }
diff --git a/packages/taquito-beacon-wallet/package-lock.json b/packages/taquito-beacon-wallet/package-lock.json
index 02ef27de9..496f99425 100644
--- a/packages/taquito-beacon-wallet/package-lock.json
+++ b/packages/taquito-beacon-wallet/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/beacon-wallet",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-beacon-wallet/package.json b/packages/taquito-beacon-wallet/package.json
index 48a49e051..35d4d8baa 100644
--- a/packages/taquito-beacon-wallet/package.json
+++ b/packages/taquito-beacon-wallet/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/beacon-wallet",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Beacon wallet provider",
   "keywords": [
     "tezos",
@@ -62,8 +62,8 @@
   },
   "dependencies": {
     "@airgap/beacon-sdk": "^2.3.0",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/utils": "^10.1.0"
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/utils": "^10.1.2"
   },
   "devDependencies": {
     "@types/chrome": "0.0.145",
diff --git a/packages/taquito-beacon-wallet/src/version.ts b/packages/taquito-beacon-wallet/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-beacon-wallet/src/version.ts
+++ b/packages/taquito-beacon-wallet/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-http-utils/package-lock.json b/packages/taquito-http-utils/package-lock.json
index 4d4e15dec..9025da044 100644
--- a/packages/taquito-http-utils/package-lock.json
+++ b/packages/taquito-http-utils/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/http-utils",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-http-utils/package.json b/packages/taquito-http-utils/package.json
index 2da5512f0..dfd4b2de5 100644
--- a/packages/taquito-http-utils/package.json
+++ b/packages/taquito-http-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/http-utils",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "",
   "keywords": [
     "tezos"
diff --git a/packages/taquito-http-utils/src/version.ts b/packages/taquito-http-utils/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-http-utils/src/version.ts
+++ b/packages/taquito-http-utils/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-ledger-signer/package-lock.json b/packages/taquito-ledger-signer/package-lock.json
index 7148a829c..2439e4ce3 100644
--- a/packages/taquito-ledger-signer/package-lock.json
+++ b/packages/taquito-ledger-signer/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/ledger-signer",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-ledger-signer/package.json b/packages/taquito-ledger-signer/package.json
index a1de92433..7a27404af 100644
--- a/packages/taquito-ledger-signer/package.json
+++ b/packages/taquito-ledger-signer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/ledger-signer",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Ledger signer provider",
   "keywords": [
     "tezos",
@@ -58,8 +58,8 @@
   },
   "dependencies": {
     "@ledgerhq/hw-transport": "^5.51.1",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "@types/jest": "^26.0.23",
     "buffer": "^6.0.3",
     "libsodium-wrappers": "0.7.8"
diff --git a/packages/taquito-ledger-signer/src/version.ts b/packages/taquito-ledger-signer/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-ledger-signer/src/version.ts
+++ b/packages/taquito-ledger-signer/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-local-forging/package-lock.json b/packages/taquito-local-forging/package-lock.json
index 968383bc7..1bead2bed 100644
--- a/packages/taquito-local-forging/package-lock.json
+++ b/packages/taquito-local-forging/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/local-forging",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-local-forging/package.json b/packages/taquito-local-forging/package.json
index 789dc6663..4d5e2144b 100644
--- a/packages/taquito-local-forging/package.json
+++ b/packages/taquito-local-forging/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/local-forging",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Provide local forging functionality to be with taquito",
   "keywords": [
     "tezos",
@@ -67,11 +67,11 @@
     ]
   },
   "dependencies": {
-    "@taquito/utils": "^10.1.0",
+    "@taquito/utils": "^10.1.2",
     "bignumber.js": "^9.0.1"
   },
   "devDependencies": {
-    "@taquito/taquito": "^10.1.0",
+    "@taquito/taquito": "^10.1.2",
     "@types/jest": "^26.0.23",
     "@types/node": "^15.12.2",
     "@typescript-eslint/eslint-plugin": "^4.28.1",
diff --git a/packages/taquito-local-forging/src/version.ts b/packages/taquito-local-forging/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-local-forging/src/version.ts
+++ b/packages/taquito-local-forging/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-michel-codec/package-lock.json b/packages/taquito-michel-codec/package-lock.json
index 627bf9df0..c8d7e5bf4 100644
--- a/packages/taquito-michel-codec/package-lock.json
+++ b/packages/taquito-michel-codec/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/michel-codec",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-michel-codec/package.json b/packages/taquito-michel-codec/package.json
index 28b35a7c7..d8ae31e58 100644
--- a/packages/taquito-michel-codec/package.json
+++ b/packages/taquito-michel-codec/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/michel-codec",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Michelson parser/validator/formatter",
   "keywords": [
     "tezos",
diff --git a/packages/taquito-michel-codec/src/version.ts b/packages/taquito-michel-codec/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-michel-codec/src/version.ts
+++ b/packages/taquito-michel-codec/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-michelson-encoder/package-lock.json b/packages/taquito-michelson-encoder/package-lock.json
index c948c731b..aed77ed30 100644
--- a/packages/taquito-michelson-encoder/package-lock.json
+++ b/packages/taquito-michelson-encoder/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/michelson-encoder",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-michelson-encoder/package.json b/packages/taquito-michelson-encoder/package.json
index 7985c162d..56cf56b03 100644
--- a/packages/taquito-michelson-encoder/package.json
+++ b/packages/taquito-michelson-encoder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/michelson-encoder",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "converts michelson data and types into convenient JS/TS objects",
   "keywords": [
     "tezos",
@@ -68,8 +68,8 @@
     ]
   },
   "dependencies": {
-    "@taquito/rpc": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/rpc": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "bignumber.js": "^9.0.1",
     "fast-json-stable-stringify": "^2.1.0"
   },
diff --git a/packages/taquito-michelson-encoder/src/tokens/key.ts b/packages/taquito-michelson-encoder/src/tokens/key.ts
index 3ca8ea064..0c4c2a0c7 100644
--- a/packages/taquito-michelson-encoder/src/tokens/key.ts
+++ b/packages/taquito-michelson-encoder/src/tokens/key.ts
@@ -1,5 +1,7 @@
 import { ComparableToken, TokenFactory, TokenValidationError } from './token';
-import { encodeKey, validatePublicKey, ValidationResult } from '@taquito/utils';
+import { encodeKey, validatePublicKey, ValidationResult, Prefix, b58cdecode, prefix } from '@taquito/utils';
+
+const publicKeyPrefixLength = 4;
 
 export class KeyValidationError extends TokenValidationError {
   name: string = 'KeyValidationError';
@@ -69,4 +71,35 @@ export class KeyToken extends ComparableToken {
       type: { prim: KeyToken.prim },
     };
   }
+
+  compare(key1: string, key2: string): number {
+    const keyPrefix1 = this.getPrefix(key1);
+    const keyPrefix2 = this.getPrefix(key2);
+
+    if (keyPrefix1 === Prefix.EDPK && keyPrefix2 !== Prefix.EDPK) {
+      return -1;
+    }
+    else if (keyPrefix1 === Prefix.SPPK && keyPrefix2 !== Prefix.SPPK) {
+      return keyPrefix2 === Prefix.EDPK ? 1 : -1;
+    }
+    else if (keyPrefix1 === Prefix.P2PK) {
+      if (keyPrefix2 !== Prefix.P2PK) {
+        return 1;
+      }
+
+      const keyBytes1 = this.getP256PublicKeyComparableBytes(key1);
+      const keyBytes2 = this.getP256PublicKeyComparableBytes(key2);
+      return Buffer.compare(keyBytes1, keyBytes2);
+    }
+
+    return super.compare(key1, key2);
+  }
+
+  private getPrefix(val: string) {
+    return val.substring(0, publicKeyPrefixLength);
+  }
+
+  private getP256PublicKeyComparableBytes(p2pk: string) {
+    return b58cdecode(p2pk, prefix[Prefix.P2PK]).slice(1);
+  }
 }
diff --git a/packages/taquito-michelson-encoder/src/version.ts b/packages/taquito-michelson-encoder/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-michelson-encoder/src/version.ts
+++ b/packages/taquito-michelson-encoder/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-remote-signer/package-lock.json b/packages/taquito-remote-signer/package-lock.json
index 4a7c6b268..5caeba59a 100644
--- a/packages/taquito-remote-signer/package-lock.json
+++ b/packages/taquito-remote-signer/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/remote-signer",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-remote-signer/package.json b/packages/taquito-remote-signer/package.json
index a3f594a1d..1d1f6e664 100644
--- a/packages/taquito-remote-signer/package.json
+++ b/packages/taquito-remote-signer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/remote-signer",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Remote signer provider",
   "keywords": [
     "tezos",
@@ -60,9 +60,9 @@
     ]
   },
   "dependencies": {
-    "@taquito/http-utils": "^10.1.0",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/http-utils": "^10.1.2",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "@types/jest": "^26.0.23",
     "elliptic": "^6.5.4",
     "libsodium-wrappers": "0.7.8",
diff --git a/packages/taquito-remote-signer/src/version.ts b/packages/taquito-remote-signer/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-remote-signer/src/version.ts
+++ b/packages/taquito-remote-signer/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-rpc/package-lock.json b/packages/taquito-rpc/package-lock.json
index 6fa9b91af..8834be428 100644
--- a/packages/taquito-rpc/package-lock.json
+++ b/packages/taquito-rpc/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/rpc",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-rpc/package.json b/packages/taquito-rpc/package.json
index 702ab8b68..462c87591 100644
--- a/packages/taquito-rpc/package.json
+++ b/packages/taquito-rpc/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/rpc",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Provides low level methods, and types to invoke RPC calls from a Nomadic Tezos RPC node",
   "keywords": [
     "tezos",
@@ -67,7 +67,7 @@
     ]
   },
   "dependencies": {
-    "@taquito/http-utils": "^10.1.0",
+    "@taquito/http-utils": "^10.1.2",
     "bignumber.js": "^9.0.1",
     "lodash": "^4.17.21"
   },
diff --git a/packages/taquito-rpc/src/taquito-rpc.ts b/packages/taquito-rpc/src/taquito-rpc.ts
index d45e6256a..b949114f6 100644
--- a/packages/taquito-rpc/src/taquito-rpc.ts
+++ b/packages/taquito-rpc/src/taquito-rpc.ts
@@ -71,7 +71,7 @@ export class RpcClient {
    * @param httpBackend Http backend that issue http request.
    * You can override it by providing your own if you which to hook in the request/response
    *
-   * @example new RpcClient('https://api.tez.ie/rpc/mainnet', 'main') this will use https://api.tez.ie/rpc/mainnet/chains/main
+   * @example new RpcClient('https://mainnet.api.tez.ie/', 'main') this will use https://mainnet.api.tez.ie//chains/main
    */
   constructor(
     protected url: string,
diff --git a/packages/taquito-rpc/src/version.ts b/packages/taquito-rpc/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-rpc/src/version.ts
+++ b/packages/taquito-rpc/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-signer/package-lock.json b/packages/taquito-signer/package-lock.json
index 7a316fb08..dc82197e1 100644
--- a/packages/taquito-signer/package-lock.json
+++ b/packages/taquito-signer/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/signer",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-signer/package.json b/packages/taquito-signer/package.json
index 571d1a540..9964abc8b 100644
--- a/packages/taquito-signer/package.json
+++ b/packages/taquito-signer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/signer",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Provide signing functionality to be with taquito",
   "keywords": [
     "tezos",
@@ -67,8 +67,8 @@
     ]
   },
   "dependencies": {
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "bignumber.js": "^9.0.1",
     "bip39": "^3.0.4",
     "elliptic": "^6.5.4",
diff --git a/packages/taquito-signer/src/version.ts b/packages/taquito-signer/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-signer/src/version.ts
+++ b/packages/taquito-signer/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-tezbridge-signer/package-lock.json b/packages/taquito-tezbridge-signer/package-lock.json
index 5b121eebb..6100b67a3 100644
--- a/packages/taquito-tezbridge-signer/package-lock.json
+++ b/packages/taquito-tezbridge-signer/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/tezbridge-signer",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-tezbridge-signer/package.json b/packages/taquito-tezbridge-signer/package.json
index 9bdffc354..342b46288 100644
--- a/packages/taquito-tezbridge-signer/package.json
+++ b/packages/taquito-tezbridge-signer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/tezbridge-signer",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Tezbridge signer provider",
   "keywords": [
     "tezos",
@@ -61,11 +61,11 @@
     ]
   },
   "dependencies": {
-    "@taquito/utils": "^10.1.0",
+    "@taquito/utils": "^10.1.2",
     "typedarray-to-buffer": "^4.0.0"
   },
   "devDependencies": {
-    "@taquito/taquito": "^10.1.0",
+    "@taquito/taquito": "^10.1.2",
     "@types/jest": "^26.0.23",
     "@types/node": "^15.12.2",
     "@types/ws": "^7.4.4",
diff --git a/packages/taquito-tezbridge-signer/src/version.ts b/packages/taquito-tezbridge-signer/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-tezbridge-signer/src/version.ts
+++ b/packages/taquito-tezbridge-signer/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-tezbridge-wallet/package-lock.json b/packages/taquito-tezbridge-wallet/package-lock.json
index 1fbc23631..47b18ef0b 100644
--- a/packages/taquito-tezbridge-wallet/package-lock.json
+++ b/packages/taquito-tezbridge-wallet/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/tezbridge-wallet",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-tezbridge-wallet/package.json b/packages/taquito-tezbridge-wallet/package.json
index 711b4e1fb..490ce2554 100644
--- a/packages/taquito-tezbridge-wallet/package.json
+++ b/packages/taquito-tezbridge-wallet/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/tezbridge-wallet",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Tezbridge wallet provider",
   "keywords": [
     "tezos",
@@ -61,7 +61,7 @@
     ]
   },
   "dependencies": {
-    "@taquito/taquito": "^10.1.0"
+    "@taquito/taquito": "^10.1.2"
   },
   "devDependencies": {
     "@types/jest": "^26.0.23",
diff --git a/packages/taquito-tezbridge-wallet/src/version.ts b/packages/taquito-tezbridge-wallet/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-tezbridge-wallet/src/version.ts
+++ b/packages/taquito-tezbridge-wallet/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-tzip12/package-lock.json b/packages/taquito-tzip12/package-lock.json
index 7782aa04d..be38d0ad9 100644
--- a/packages/taquito-tzip12/package-lock.json
+++ b/packages/taquito-tzip12/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/tzip12",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-tzip12/package.json b/packages/taquito-tzip12/package.json
index 13edb3e55..bb3f59552 100644
--- a/packages/taquito-tzip12/package.json
+++ b/packages/taquito-tzip12/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/tzip12",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Tzip12",
   "keywords": [
     "tezos",
@@ -59,9 +59,9 @@
     ]
   },
   "dependencies": {
-    "@taquito/michelson-encoder": "^10.1.0",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/tzip16": "^10.1.0",
+    "@taquito/michelson-encoder": "^10.1.2",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/tzip16": "^10.1.2",
     "bignumber.js": "^9.0.1"
   },
   "devDependencies": {
diff --git a/packages/taquito-tzip12/src/version.ts b/packages/taquito-tzip12/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-tzip12/src/version.ts
+++ b/packages/taquito-tzip12/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-tzip16/package-lock.json b/packages/taquito-tzip16/package-lock.json
index 5b3b36c3a..e0153959c 100644
--- a/packages/taquito-tzip16/package-lock.json
+++ b/packages/taquito-tzip16/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/tzip16",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-tzip16/package.json b/packages/taquito-tzip16/package.json
index 2bbc69896..5bb1c3d05 100644
--- a/packages/taquito-tzip16/package.json
+++ b/packages/taquito-tzip16/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/tzip16",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Tzip16",
   "keywords": [
     "tezos",
@@ -58,11 +58,11 @@
     ]
   },
   "dependencies": {
-    "@taquito/http-utils": "^10.1.0",
-    "@taquito/michelson-encoder": "^10.1.0",
-    "@taquito/rpc": "^10.1.0",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/http-utils": "^10.1.2",
+    "@taquito/michelson-encoder": "^10.1.2",
+    "@taquito/rpc": "^10.1.2",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "bignumber.js": "^9.0.1",
     "crypto-js": "^4.0.0"
   },
diff --git a/packages/taquito-tzip16/src/version.ts b/packages/taquito-tzip16/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-tzip16/src/version.ts
+++ b/packages/taquito-tzip16/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito-utils/package-lock.json b/packages/taquito-utils/package-lock.json
index bdd0d3a0d..180154981 100644
--- a/packages/taquito-utils/package-lock.json
+++ b/packages/taquito-utils/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/utils",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-utils/package.json b/packages/taquito-utils/package.json
index c54c0d43b..d31968625 100644
--- a/packages/taquito-utils/package.json
+++ b/packages/taquito-utils/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/utils",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "converts michelson data and types into convenient JS/TS objects",
   "keywords": [
     "tezos",
diff --git a/packages/taquito-utils/src/version.ts b/packages/taquito-utils/src/version.ts
index d130604c3..01ef90af4 100644
--- a/packages/taquito-utils/src/version.ts
+++ b/packages/taquito-utils/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.1"
 };
 /* tslint:enable */
diff --git a/packages/taquito/README.md b/packages/taquito/README.md
index 45dad4e92..58ef869fd 100644
--- a/packages/taquito/README.md
+++ b/packages/taquito/README.md
@@ -8,8 +8,8 @@ The `@taquito/taquito` package contains higher level functionality that builds u
 ## CDN Bundle
 
 ```html
-<script src="https://unpkg.com/@taquito/taquito@10.1.0/dist/taquito.min.js"
-crossorigin="anonymous" integrity="sha384-QwTAWpX6Y7PEXwMtGbDv/yWB6qAdaa4UlZvcU/UerUw4E8XBZJSLO+jUoKCryRGG"></script>
+<script src="https://unpkg.com/@taquito/taquito@10.1.2/dist/taquito.min.js"
+crossorigin="anonymous" integrity="sha384-AEgOzhhSNNg5hLOm2KTmJiAE0niq6LCf6pu8blYExs9mctjs2cNelKNkPaakWjGE"></script>
 ```
 
 ## API Documentation
diff --git a/packages/taquito/manifest.json b/packages/taquito/manifest.json
index 5d155669b..b103a301b 100644
--- a/packages/taquito/manifest.json
+++ b/packages/taquito/manifest.json
@@ -1,6 +1,6 @@
 {
   "main.js": {
     "src": "dist/taquito.min.js",
-    "integrity": "sha384-QwTAWpX6Y7PEXwMtGbDv/yWB6qAdaa4UlZvcU/UerUw4E8XBZJSLO+jUoKCryRGG"
+    "integrity": "sha384-AEgOzhhSNNg5hLOm2KTmJiAE0niq6LCf6pu8blYExs9mctjs2cNelKNkPaakWjGE"
   }
 }
\ No newline at end of file
diff --git a/packages/taquito/package-lock.json b/packages/taquito/package-lock.json
index 7fdd1be16..35b4a7962 100644
--- a/packages/taquito/package-lock.json
+++ b/packages/taquito/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "@taquito/taquito",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito/package.json b/packages/taquito/package.json
index ef5b32a57..b48350196 100644
--- a/packages/taquito/package.json
+++ b/packages/taquito/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@taquito/taquito",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "High level functionality that builds upon the other packages in the Tezos Typescript Library Suite.",
   "keywords": [
     "tezos",
@@ -78,11 +78,11 @@
     ]
   },
   "dependencies": {
-    "@taquito/http-utils": "^10.1.0",
-    "@taquito/michel-codec": "^10.1.0",
-    "@taquito/michelson-encoder": "^10.1.0",
-    "@taquito/rpc": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/http-utils": "^10.1.2",
+    "@taquito/michel-codec": "^10.1.2",
+    "@taquito/michelson-encoder": "^10.1.2",
+    "@taquito/rpc": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "bignumber.js": "^9.0.1",
     "rx-sandbox": "^1.0.4",
     "rxjs": "^6.6.3"
diff --git a/packages/taquito/src/contract/estimate.ts b/packages/taquito/src/contract/estimate.ts
index 1d666831f..0a23874e7 100644
--- a/packages/taquito/src/contract/estimate.ts
+++ b/packages/taquito/src/contract/estimate.ts
@@ -52,7 +52,7 @@ export class Estimate {
   constructor(
     private readonly _milligasLimit: number | string,
     private readonly _storageLimit: number | string,
-    private readonly opSize: number | string,
+    public readonly opSize: number | string,
     private readonly minimalFeePerStorageByteMutez: number | string,
     /**
      * @description Base fee in mutez (1 mutez = 1e10−6 tez)
diff --git a/packages/taquito/src/operations/operations.ts b/packages/taquito/src/operations/operations.ts
index 8b964f616..3ccc47769 100644
--- a/packages/taquito/src/operations/operations.ts
+++ b/packages/taquito/src/operations/operations.ts
@@ -3,8 +3,9 @@ import {
   OperationContentsAndResult,
   OperationContentsAndResultReveal,
 } from '@taquito/rpc';
-import { defer, from, ReplaySubject, timer } from 'rxjs';
+import { defer, EMPTY, from, of, ReplaySubject, timer } from 'rxjs';
 import {
+  catchError,
   filter,
   first,
   map,
@@ -107,7 +108,11 @@ export class Operation {
     public readonly results: OperationContentsAndResult[],
     protected readonly context: Context
   ) {
-    this.confirmed$.pipe(first()).subscribe();
+    this.confirmed$.pipe(first(),
+      catchError(() => {
+        return of(EMPTY)
+      })
+    ).subscribe();
   }
 
   get revealOperation() {
diff --git a/packages/taquito/src/version.ts b/packages/taquito/src/version.ts
index d130604c3..63cde288a 100644
--- a/packages/taquito/src/version.ts
+++ b/packages/taquito/src/version.ts
@@ -2,7 +2,7 @@
 // IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!
 /* tslint:disable */
 export const VERSION = {
-    "commitHash": "33283ebb64d801dcbb0926ad199d024ad7189861",
-    "version": "10.1.0"
+    "commitHash": "eb5b2c4973cd11098b68ce62eb6702dea376e569",
+    "version": "10.1.2"
 };
 /* tslint:enable */
diff --git a/packages/taquito/src/wallet/operation.ts b/packages/taquito/src/wallet/operation.ts
index 25df3bdce..81b1f6d2e 100644
--- a/packages/taquito/src/wallet/operation.ts
+++ b/packages/taquito/src/wallet/operation.ts
@@ -1,6 +1,7 @@
 import { BlockResponse, OperationContentsAndResult, OperationResultStatusEnum } from '@taquito/rpc';
-import { combineLatest, from, Observable, ReplaySubject } from 'rxjs';
+import { combineLatest, from, Observable, of, ReplaySubject } from 'rxjs';
 import {
+  catchError,
   distinctUntilChanged,
   filter,
   first,
@@ -92,7 +93,7 @@ export class WalletOperation {
     protected readonly context: Context,
     private _newHead$: Observable<BlockResponse>
   ) {
-    this.confirmed$.pipe(first()).subscribe();
+    this.confirmed$.pipe(first(), catchError(() => of(undefined))).subscribe();
   }
 
   async getCurrentConfirmation() {
@@ -147,7 +148,7 @@ export class WalletOperation {
     if (conf === undefined) {
       throw new Error('Default confirmation count can not be undefined!');
     }
-    
+
     return combineLatest([this._includedInBlock, this.newHead$]).pipe(
       distinctUntilChanged(([, previousHead], [, newHead]) => {
         return previousHead.hash === newHead.hash;
diff --git a/website/package-lock.json b/website/package-lock.json
index b69411c37..096c79474 100644
--- a/website/package-lock.json
+++ b/website/package-lock.json
@@ -4,9 +4,9 @@
   "lockfileVersion": 1,
   "dependencies": {
     "@airgap/beacon-sdk": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/@airgap/beacon-sdk/-/beacon-sdk-2.3.1.tgz",
-      "integrity": "sha512-KhlerqRlI9LxkxY6sq5ar5g6KuzEEGEacnMg7AWxL/Pdq3WXGfMrdzVOO+4wOgB8f1/A8MRn0l/zjwAFZqAvYA==",
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/@airgap/beacon-sdk/-/beacon-sdk-2.3.2.tgz",
+      "integrity": "sha512-PAZ3n/RJaaBqgwQrFo1xrpAcMY/x9W3eZKZyKZMZuKVTB60spiy3KvSj7OYsk+03/nvCB+qDpllkUGFZ5GxMJg==",
       "requires": {
         "@types/chrome": "0.0.115",
         "@types/libsodium-wrappers": "0.7.7",
@@ -1731,9 +1731,9 @@
       }
     },
     "@fortawesome/react-fontawesome": {
-      "version": "0.1.14",
-      "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.14.tgz",
-      "integrity": "sha512-4wqNb0gRLVaBm/h+lGe8UfPPivcbuJ6ecI4hIgW0LjI7kzpYB9FkN0L9apbVzg+lsBdcTf0AlBtODjcSX5mmKA==",
+      "version": "0.1.15",
+      "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.15.tgz",
+      "integrity": "sha512-/HFHdcoLESxxMkqZAcZ6RXDJ69pVApwdwRos/B2kiMWxDSAX2dFK8Er2/+rG+RsrzWB/dsAyjefLmemgmfE18g==",
       "requires": {
         "prop-types": "^15.7.2"
       }
@@ -2168,31 +2168,31 @@
       }
     },
     "@taquito/beacon-wallet": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/beacon-wallet/-/beacon-wallet-10.1.0.tgz",
-      "integrity": "sha512-4nsx3Kqh+Apx3eLuztSbGzGrUqRg31sAM/9Ju77pzWzg3ATO9WLrNKbAcWyIaqzKx95HS/WXS1pRA/R9Q+u31A==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/beacon-wallet/-/beacon-wallet-10.1.2.tgz",
+      "integrity": "sha512-tlaPF8pioGtgavrp7g756duUNxdfTjq3zaykgPR2C+9PhmE6MDLW36/mHgzP+mJiB2m7BoeUGk9ODIsTr+nAfA==",
       "requires": {
         "@airgap/beacon-sdk": "^2.3.0",
-        "@taquito/taquito": "^10.1.0",
-        "@taquito/utils": "^10.1.0"
+        "@taquito/taquito": "^10.1.2",
+        "@taquito/utils": "^10.1.2"
       }
     },
     "@taquito/http-utils": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/http-utils/-/http-utils-10.1.0.tgz",
-      "integrity": "sha512-nfT0W0l59C31fJrAGenIbFlWpoJM/UH2xZMLgxuIPMimgptvsJg0jc/WF3fxZ22gzlmJXZ1/7wIbrOVTIl2Arw==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/http-utils/-/http-utils-10.1.2.tgz",
+      "integrity": "sha512-L8Ft0IZ+uX7WdpIjVmvv2mPBuBQaDbeCxVnU9K2vw54XWEojT/yq0ckavCPYlFeiurJ1m75avFQiQuHYErI7ug==",
       "requires": {
         "xhr2-cookies": "^1.1.0"
       }
     },
     "@taquito/ledger-signer": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/ledger-signer/-/ledger-signer-10.1.0.tgz",
-      "integrity": "sha512-AFKfVxwmHm/o1F5uTvewLS/sQ91JeFwx9oPqZDCrbVZgWAT0w1EE7uB4NEa88s60RM316Fwl/OiPEz7/1z2Hlw==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/ledger-signer/-/ledger-signer-10.1.2.tgz",
+      "integrity": "sha512-6xMiDdQsIoDJ25h+VbYaoXTvpxQFMhvqGTQZSZQYSRlfMLCJB8S9rf/lrFsZNbm6eHL4Eb4sZcy81oNxA+6pyw==",
       "requires": {
         "@ledgerhq/hw-transport": "^5.51.1",
-        "@taquito/taquito": "^10.1.0",
-        "@taquito/utils": "^10.1.0",
+        "@taquito/taquito": "^10.1.2",
+        "@taquito/utils": "^10.1.2",
         "@types/jest": "^26.0.23",
         "buffer": "^6.0.3",
         "libsodium-wrappers": "0.7.8"
@@ -2245,17 +2245,17 @@
       }
     },
     "@taquito/michel-codec": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/michel-codec/-/michel-codec-10.1.0.tgz",
-      "integrity": "sha512-tbE7jir69zrC9GFpF278V69TiL8vNrt5Dfs8ldm5o7V3Mf4vXfYO632E0IsgbS6g3W5c3TJIZ/mue5WiTpfcWg=="
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/michel-codec/-/michel-codec-10.1.2.tgz",
+      "integrity": "sha512-v30acFO+r1/De5fQBMjIagyogFq4Q429wnzuuzKAdL5+6BEDM952WMxRVW7FtpqBbcP72ZFMAJ3Z/R4QIvZ08g=="
     },
     "@taquito/michelson-encoder": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/michelson-encoder/-/michelson-encoder-10.1.0.tgz",
-      "integrity": "sha512-sRoJKTAj3Mt9SGz+QO6ZpU4r8tg+ziFWezGx/eY6grKsA5mKoXZifV9NaNqqzxbcVJ5pjCdw8J7wvvW9hyF0OQ==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/michelson-encoder/-/michelson-encoder-10.1.2.tgz",
+      "integrity": "sha512-3MHO5ryl5dusdp6SvB+eYOfzvOxOXTI46lR4a5q16oMZyRFIdtzUfu9/7Ov5lKAKrMq42wugJnQDXNiaf69qUQ==",
       "requires": {
-        "@taquito/rpc": "^10.1.0",
-        "@taquito/utils": "^10.1.0",
+        "@taquito/rpc": "^10.1.2",
+        "@taquito/utils": "^10.1.2",
         "bignumber.js": "^9.0.1",
         "fast-json-stable-stringify": "^2.1.0"
       },
@@ -2268,11 +2268,11 @@
       }
     },
     "@taquito/rpc": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/rpc/-/rpc-10.1.0.tgz",
-      "integrity": "sha512-X25vMm0qnAWJ+wwmfHl/XYE/X/ZTAH4s7h+cRqErVixEL5lt12C6JHT/n4BD8XjJPS/4Px3CRWTMkAZ0gcAiPQ==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/rpc/-/rpc-10.1.2.tgz",
+      "integrity": "sha512-qpPrNC6cx3oW59LoPbFE+8S+fXjix/WQC3gS45re50I3wBODZhe7cjjdvWx7x/O/Dp3A1Kz/9CKXk+vruRU7Mw==",
       "requires": {
-        "@taquito/http-utils": "^10.1.0",
+        "@taquito/http-utils": "^10.1.2",
         "bignumber.js": "^9.0.1",
         "lodash": "^4.17.21"
       },
@@ -2285,12 +2285,12 @@
       }
     },
     "@taquito/signer": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/signer/-/signer-10.1.0.tgz",
-      "integrity": "sha512-quJD/bqjSRKs4RGcm8qyb8iWLcj0WjBx2HyP2l3zIO4YXBOIqjKZ5KoVpJLJA+i22h2cG452b9Ns5/r597FH2w==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/signer/-/signer-10.1.2.tgz",
+      "integrity": "sha512-CDnEBloVxgyVn4ZDnUTz0lmjVhiv1sTyU1fO2KLksIMI0ZB3dpt+KpUGiqR/vIN5t3iC9Rw3UUQ4nMm1qnx+jg==",
       "requires": {
-        "@taquito/taquito": "^10.1.0",
-        "@taquito/utils": "^10.1.0",
+        "@taquito/taquito": "^10.1.2",
+        "@taquito/utils": "^10.1.2",
         "bignumber.js": "^9.0.1",
         "bip39": "^3.0.4",
         "elliptic": "^6.5.4",
@@ -2312,15 +2312,15 @@
       }
     },
     "@taquito/taquito": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/taquito/-/taquito-10.1.0.tgz",
-      "integrity": "sha512-KN/Z34rN6cVZmlNs50ZmWkfBziPkMUhJ/KgzJx1b89Vaxyq3tHISDFEnEJtFd8aKelDVbiyposHcZ6aqVzn7NQ==",
-      "requires": {
-        "@taquito/http-utils": "^10.1.0",
-        "@taquito/michel-codec": "^10.1.0",
-        "@taquito/michelson-encoder": "^10.1.0",
-        "@taquito/rpc": "^10.1.0",
-        "@taquito/utils": "^10.1.0",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/taquito/-/taquito-10.1.2.tgz",
+      "integrity": "sha512-y4tUp+AOHtKfOZO4cxKKjjkNqMy/LoUKMLbRwq8aUSeAeONw6WhjlCjGTBz3nZ2Q1wbV0Dp9GpD15491lsPzzQ==",
+      "requires": {
+        "@taquito/http-utils": "^10.1.2",
+        "@taquito/michel-codec": "^10.1.2",
+        "@taquito/michelson-encoder": "^10.1.2",
+        "@taquito/rpc": "^10.1.2",
+        "@taquito/utils": "^10.1.2",
         "bignumber.js": "^9.0.1",
         "rx-sandbox": "^1.0.4",
         "rxjs": "^6.6.3"
@@ -2334,21 +2334,21 @@
       }
     },
     "@taquito/tezbridge-wallet": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/tezbridge-wallet/-/tezbridge-wallet-10.1.0.tgz",
-      "integrity": "sha512-n5HoE8zandGMMj+zR20AgAS/js9lK5QRqb2eJ88Fqwx7wi4n42jC1m8gDDkkk3E2CF98mTcOGzcWBvspenrbPA==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/tezbridge-wallet/-/tezbridge-wallet-10.1.2.tgz",
+      "integrity": "sha512-FY7KKk2FpQ8Bi98oyyza499KIeXC3rSg4Xh/nxciAA4TQaV39gEMoHqOxPmbK4EtfZl6KwoVxjdM8qMWP/Q7Sw==",
       "requires": {
-        "@taquito/taquito": "^10.1.0"
+        "@taquito/taquito": "^10.1.2"
       }
     },
     "@taquito/tzip12": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/tzip12/-/tzip12-10.1.0.tgz",
-      "integrity": "sha512-7m0obPUzjQ7f0yF8ezghan4+Y1AQyLG3i4w2c+VYSYRhTq/lvyzBHKsNv23ShUOSZTVjCNRgWnrX4G3lbDBIcA==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/tzip12/-/tzip12-10.1.2.tgz",
+      "integrity": "sha512-plJAiKapmZ+d1x0fZ9+alK/8XXJ0FuUw9/g4x4s86ZDjqBYt3j4f3ioU7rma7IBGTyF7LRjZSM9SOZTuvo8mWQ==",
       "requires": {
-        "@taquito/michelson-encoder": "^10.1.0",
-        "@taquito/taquito": "^10.1.0",
-        "@taquito/tzip16": "^10.1.0",
+        "@taquito/michelson-encoder": "^10.1.2",
+        "@taquito/taquito": "^10.1.2",
+        "@taquito/tzip16": "^10.1.2",
         "bignumber.js": "^9.0.1"
       },
       "dependencies": {
@@ -2360,15 +2360,15 @@
       }
     },
     "@taquito/tzip16": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/tzip16/-/tzip16-10.1.0.tgz",
-      "integrity": "sha512-XHEOsc23RctLEbAk2r4sCZb7Kl281BvQ2JsOtrFwOKsbt+sJ80C0TJa+At9M11rlZc5bupgcUrMb8oElwSCcMA==",
-      "requires": {
-        "@taquito/http-utils": "^10.1.0",
-        "@taquito/michelson-encoder": "^10.1.0",
-        "@taquito/rpc": "^10.1.0",
-        "@taquito/taquito": "^10.1.0",
-        "@taquito/utils": "^10.1.0",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/tzip16/-/tzip16-10.1.2.tgz",
+      "integrity": "sha512-d7HOvTmOACWUcNOL9nAofjCMshSqV4Zu38nVDt/AxgvHtqauFTw2Tv3zC7KEKCAddnr6TrJPTu09X79v7wIxCw==",
+      "requires": {
+        "@taquito/http-utils": "^10.1.2",
+        "@taquito/michelson-encoder": "^10.1.2",
+        "@taquito/rpc": "^10.1.2",
+        "@taquito/taquito": "^10.1.2",
+        "@taquito/utils": "^10.1.2",
         "bignumber.js": "^9.0.1",
         "crypto-js": "^4.0.0"
       },
@@ -2381,9 +2381,9 @@
       }
     },
     "@taquito/utils": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@taquito/utils/-/utils-10.1.0.tgz",
-      "integrity": "sha512-jG4pBfbcZistUFCifJveHNm8cvOs/ZO8bG6fP9adLef1c8JDChLA5/y4yp3xqirCZyZIJ3EoBpT723uuF7EM+Q==",
+      "version": "10.1.2",
+      "resolved": "https://registry.npmjs.org/@taquito/utils/-/utils-10.1.2.tgz",
+      "integrity": "sha512-IlgNVL4tEKaQvP9jnS8tMRyOTZbFNxby3emtqcQVu5t3JYG36cyDNxHswCQK7ozN+e3GRP9q/L2iUMeKbGtWJQ==",
       "requires": {
         "blakejs": "^1.1.0",
         "bs58check": "^2.1.2",
@@ -12582,11 +12582,28 @@
       "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
     },
     "stack-utils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
-      "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.4.tgz",
+      "integrity": "sha512-ERg+H//lSSYlZhBIUu+wJnqg30AbyBbpZlIhcshpn7BNzpoRODZgfyr9J+8ERf3ooC6af3u7Lcl01nleau7MrA==",
       "requires": {
-        "escape-string-regexp": "^2.0.0"
+        "escape-string-regexp": "^2.0.0",
+        "source-map-support": "^0.5.20"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+        },
+        "source-map-support": {
+          "version": "0.5.20",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz",
+          "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==",
+          "requires": {
+            "buffer-from": "^1.0.0",
+            "source-map": "^0.6.0"
+          }
+        }
       }
     },
     "state-toggle": {
diff --git a/website/package.json b/website/package.json
index 6de491ab5..45f726b3a 100644
--- a/website/package.json
+++ b/website/package.json
@@ -15,19 +15,19 @@
     "@docusaurus/theme-live-codeblock": "2.0.0-alpha.70",
     "@fortawesome/fontawesome-svg-core": "^1.2.35",
     "@fortawesome/free-solid-svg-icons": "^5.15.3",
-    "@fortawesome/react-fontawesome": "^0.1.14",
+    "@fortawesome/react-fontawesome": "^0.1.15",
     "@ledgerhq/hw-transport-u2f": "^5.28.0",
-    "@taquito/beacon-wallet": "10.1.0",
-    "@taquito/http-utils": "10.1.0",
-    "@taquito/ledger-signer": "10.1.0",
-    "@taquito/michelson-encoder": "10.1.0",
-    "@taquito/rpc": "10.1.0",
-    "@taquito/signer": "10.1.0",
-    "@taquito/taquito": "10.1.0",
-    "@taquito/tezbridge-wallet": "10.1.0",
-    "@taquito/tzip12": "10.1.0",
-    "@taquito/tzip16": "10.1.0",
-    "@taquito/utils": "10.1.0",
+    "@taquito/beacon-wallet": "10.1.2",
+    "@taquito/http-utils": "10.1.2",
+    "@taquito/ledger-signer": "10.1.2",
+    "@taquito/michelson-encoder": "10.1.2",
+    "@taquito/rpc": "10.1.2",
+    "@taquito/signer": "10.1.2",
+    "@taquito/taquito": "10.1.2",
+    "@taquito/tezbridge-wallet": "10.1.2",
+    "@taquito/tzip12": "10.1.2",
+    "@taquito/tzip16": "10.1.2",
+    "@taquito/utils": "10.1.2",
     "@thanos-wallet/dapp": "^2.2.2",
     "abort-controller": "^3.0.0",
     "classnames": "^2.3.1",
diff --git a/website/src/theme/CodeBlock/index.js b/website/src/theme/CodeBlock/index.js
index 3dca3213a..578b56e1f 100755
--- a/website/src/theme/CodeBlock/index.js
+++ b/website/src/theme/CodeBlock/index.js
@@ -38,7 +38,7 @@ import { CancellableRpcClient } from './customHttpBackendAndRpcClient';
 
 import styles from './styles.module.css';
 
-
+const wallet = new BeaconWallet({name:"exampleWallet"});
 const highlightLinesRangeRegex = /{([\d,-]+)}/;
 
 export default ({
@@ -80,9 +80,8 @@ export default ({
   }, [button.current, target.current]);
 
   if (live) {
-    const customRpcClient = new CancellableRpcClient('https://api.tez.ie/rpc/granadanet') 
+    const customRpcClient = new CancellableRpcClient('https://granadanet.api.tez.ie') 
     const Tezos = new TezosToolkit(customRpcClient);
-    const wallet = new BeaconWallet({name:"exampleWallet"});
 
     return (
       <Playground
diff --git a/website/yarn.lock b/website/yarn.lock
index 18c46d42f..ce98a299e 100644
--- a/website/yarn.lock
+++ b/website/yarn.lock
@@ -1545,10 +1545,10 @@
   dependencies:
     "@fortawesome/fontawesome-common-types" "^0.2.35"
 
-"@fortawesome/react-fontawesome@^0.1.14":
-  version "0.1.14"
-  resolved "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.14.tgz"
-  integrity sha512-4wqNb0gRLVaBm/h+lGe8UfPPivcbuJ6ecI4hIgW0LjI7kzpYB9FkN0L9apbVzg+lsBdcTf0AlBtODjcSX5mmKA==
+"@fortawesome/react-fontawesome@^0.1.15":
+  version "0.1.15"
+  resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.15.tgz#1450b838f905981d721bf07e14e3b52c0e9a91ed"
+  integrity sha512-/HFHdcoLESxxMkqZAcZ6RXDJ69pVApwdwRos/B2kiMWxDSAX2dFK8Er2/+rG+RsrzWB/dsAyjefLmemgmfE18g==
   dependencies:
     prop-types "^15.7.2"
 
@@ -1867,65 +1867,65 @@
   dependencies:
     defer-to-connect "^1.0.1"
 
-"@taquito/beacon-wallet@10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/beacon-wallet/-/beacon-wallet-10.1.0.tgz#86e823c9e0fe1dc0d76ddbc96b6e96cf5c2c1305"
-  integrity sha512-4nsx3Kqh+Apx3eLuztSbGzGrUqRg31sAM/9Ju77pzWzg3ATO9WLrNKbAcWyIaqzKx95HS/WXS1pRA/R9Q+u31A==
+"@taquito/beacon-wallet@10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/beacon-wallet/-/beacon-wallet-10.1.2.tgz#863b14e1a96d34abd942bbbac234fff99ed95b53"
+  integrity sha512-tlaPF8pioGtgavrp7g756duUNxdfTjq3zaykgPR2C+9PhmE6MDLW36/mHgzP+mJiB2m7BoeUGk9ODIsTr+nAfA==
   dependencies:
     "@airgap/beacon-sdk" "^2.3.0"
-    "@taquito/taquito" "^10.1.0"
-    "@taquito/utils" "^10.1.0"
+    "@taquito/taquito" "^10.1.2"
+    "@taquito/utils" "^10.1.2"
 
-"@taquito/http-utils@10.1.0", "@taquito/http-utils@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/http-utils/-/http-utils-10.1.0.tgz#2881840bfce7d06ab10d1d4bf1824b9113a1ac8c"
-  integrity sha512-nfT0W0l59C31fJrAGenIbFlWpoJM/UH2xZMLgxuIPMimgptvsJg0jc/WF3fxZ22gzlmJXZ1/7wIbrOVTIl2Arw==
+"@taquito/http-utils@10.1.2", "@taquito/http-utils@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/http-utils/-/http-utils-10.1.2.tgz#d137a17f1d517e6b40f907cd937991d3b635c2e0"
+  integrity sha512-L8Ft0IZ+uX7WdpIjVmvv2mPBuBQaDbeCxVnU9K2vw54XWEojT/yq0ckavCPYlFeiurJ1m75avFQiQuHYErI7ug==
   dependencies:
     xhr2-cookies "^1.1.0"
 
-"@taquito/ledger-signer@10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/ledger-signer/-/ledger-signer-10.1.0.tgz#58d7584554047b46cdc21d064db522809be3081d"
-  integrity sha512-AFKfVxwmHm/o1F5uTvewLS/sQ91JeFwx9oPqZDCrbVZgWAT0w1EE7uB4NEa88s60RM316Fwl/OiPEz7/1z2Hlw==
+"@taquito/ledger-signer@10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/ledger-signer/-/ledger-signer-10.1.2.tgz#fa27e896756247b972dc51b1e91ec2310edf0c59"
+  integrity sha512-6xMiDdQsIoDJ25h+VbYaoXTvpxQFMhvqGTQZSZQYSRlfMLCJB8S9rf/lrFsZNbm6eHL4Eb4sZcy81oNxA+6pyw==
   dependencies:
     "@ledgerhq/hw-transport" "^5.51.1"
-    "@taquito/taquito" "^10.1.0"
-    "@taquito/utils" "^10.1.0"
+    "@taquito/taquito" "^10.1.2"
+    "@taquito/utils" "^10.1.2"
     "@types/jest" "^26.0.23"
     buffer "^6.0.3"
     libsodium-wrappers "0.7.8"
 
-"@taquito/michel-codec@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/michel-codec/-/michel-codec-10.1.0.tgz#2518cd4d6bcacd35f691f62dc355f82e4456ef8b"
-  integrity sha512-tbE7jir69zrC9GFpF278V69TiL8vNrt5Dfs8ldm5o7V3Mf4vXfYO632E0IsgbS6g3W5c3TJIZ/mue5WiTpfcWg==
+"@taquito/michel-codec@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/michel-codec/-/michel-codec-10.1.2.tgz#1f1ac02d94f9c5bfa0d13fd19600334fbdc19a0e"
+  integrity sha512-v30acFO+r1/De5fQBMjIagyogFq4Q429wnzuuzKAdL5+6BEDM952WMxRVW7FtpqBbcP72ZFMAJ3Z/R4QIvZ08g==
 
-"@taquito/michelson-encoder@10.1.0", "@taquito/michelson-encoder@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/michelson-encoder/-/michelson-encoder-10.1.0.tgz#7d25d9cd8518409a2052755cd083420ea3037d4d"
-  integrity sha512-sRoJKTAj3Mt9SGz+QO6ZpU4r8tg+ziFWezGx/eY6grKsA5mKoXZifV9NaNqqzxbcVJ5pjCdw8J7wvvW9hyF0OQ==
+"@taquito/michelson-encoder@10.1.2", "@taquito/michelson-encoder@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/michelson-encoder/-/michelson-encoder-10.1.2.tgz#70800f81ec3c8adc4f97779b7739842b906e8f50"
+  integrity sha512-3MHO5ryl5dusdp6SvB+eYOfzvOxOXTI46lR4a5q16oMZyRFIdtzUfu9/7Ov5lKAKrMq42wugJnQDXNiaf69qUQ==
   dependencies:
-    "@taquito/rpc" "^10.1.0"
-    "@taquito/utils" "^10.1.0"
+    "@taquito/rpc" "^10.1.2"
+    "@taquito/utils" "^10.1.2"
     bignumber.js "^9.0.1"
     fast-json-stable-stringify "^2.1.0"
 
-"@taquito/rpc@10.1.0", "@taquito/rpc@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/rpc/-/rpc-10.1.0.tgz#e396b274027c83a56d4bb6f2d4c6a5945664df7c"
-  integrity sha512-X25vMm0qnAWJ+wwmfHl/XYE/X/ZTAH4s7h+cRqErVixEL5lt12C6JHT/n4BD8XjJPS/4Px3CRWTMkAZ0gcAiPQ==
+"@taquito/rpc@10.1.2", "@taquito/rpc@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/rpc/-/rpc-10.1.2.tgz#c8e0138e884a04c474693529a79e8848ed6446de"
+  integrity sha512-qpPrNC6cx3oW59LoPbFE+8S+fXjix/WQC3gS45re50I3wBODZhe7cjjdvWx7x/O/Dp3A1Kz/9CKXk+vruRU7Mw==
   dependencies:
-    "@taquito/http-utils" "^10.1.0"
+    "@taquito/http-utils" "^10.1.2"
     bignumber.js "^9.0.1"
     lodash "^4.17.21"
 
-"@taquito/signer@10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/signer/-/signer-10.1.0.tgz#b797182d44954436b0ff5f53242df4a487a146c9"
-  integrity sha512-quJD/bqjSRKs4RGcm8qyb8iWLcj0WjBx2HyP2l3zIO4YXBOIqjKZ5KoVpJLJA+i22h2cG452b9Ns5/r597FH2w==
+"@taquito/signer@10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/signer/-/signer-10.1.2.tgz#adab363c0164742e58403e40726231ed82610c82"
+  integrity sha512-CDnEBloVxgyVn4ZDnUTz0lmjVhiv1sTyU1fO2KLksIMI0ZB3dpt+KpUGiqR/vIN5t3iC9Rw3UUQ4nMm1qnx+jg==
   dependencies:
-    "@taquito/taquito" "^10.1.0"
-    "@taquito/utils" "^10.1.0"
+    "@taquito/taquito" "^10.1.2"
+    "@taquito/utils" "^10.1.2"
     bignumber.js "^9.0.1"
     bip39 "^3.0.4"
     elliptic "^6.5.4"
@@ -1933,54 +1933,54 @@
     pbkdf2 "^3.1.2"
     typedarray-to-buffer "^4.0.0"
 
-"@taquito/taquito@10.1.0", "@taquito/taquito@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/taquito/-/taquito-10.1.0.tgz#0fdcc69bad0f274f69f989a4d9b9162335d32f66"
-  integrity sha512-KN/Z34rN6cVZmlNs50ZmWkfBziPkMUhJ/KgzJx1b89Vaxyq3tHISDFEnEJtFd8aKelDVbiyposHcZ6aqVzn7NQ==
+"@taquito/taquito@10.1.2", "@taquito/taquito@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/taquito/-/taquito-10.1.2.tgz#5968d193febec4756e65dbdf202327ae0dceb8af"
+  integrity sha512-y4tUp+AOHtKfOZO4cxKKjjkNqMy/LoUKMLbRwq8aUSeAeONw6WhjlCjGTBz3nZ2Q1wbV0Dp9GpD15491lsPzzQ==
   dependencies:
-    "@taquito/http-utils" "^10.1.0"
-    "@taquito/michel-codec" "^10.1.0"
-    "@taquito/michelson-encoder" "^10.1.0"
-    "@taquito/rpc" "^10.1.0"
-    "@taquito/utils" "^10.1.0"
+    "@taquito/http-utils" "^10.1.2"
+    "@taquito/michel-codec" "^10.1.2"
+    "@taquito/michelson-encoder" "^10.1.2"
+    "@taquito/rpc" "^10.1.2"
+    "@taquito/utils" "^10.1.2"
     bignumber.js "^9.0.1"
     rx-sandbox "^1.0.4"
     rxjs "^6.6.3"
 
-"@taquito/tezbridge-wallet@10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/tezbridge-wallet/-/tezbridge-wallet-10.1.0.tgz#c284b9d7f7f328ee72802c7012ac2a8feb44a144"
-  integrity sha512-n5HoE8zandGMMj+zR20AgAS/js9lK5QRqb2eJ88Fqwx7wi4n42jC1m8gDDkkk3E2CF98mTcOGzcWBvspenrbPA==
+"@taquito/tezbridge-wallet@10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/tezbridge-wallet/-/tezbridge-wallet-10.1.2.tgz#4010d959318c545bff8e8f744227e3a23c995de5"
+  integrity sha512-FY7KKk2FpQ8Bi98oyyza499KIeXC3rSg4Xh/nxciAA4TQaV39gEMoHqOxPmbK4EtfZl6KwoVxjdM8qMWP/Q7Sw==
   dependencies:
-    "@taquito/taquito" "^10.1.0"
+    "@taquito/taquito" "^10.1.2"
 
-"@taquito/tzip12@10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/tzip12/-/tzip12-10.1.0.tgz#ab3b2bc6c26a5f41f744b2447ca7be23c4638887"
-  integrity sha512-7m0obPUzjQ7f0yF8ezghan4+Y1AQyLG3i4w2c+VYSYRhTq/lvyzBHKsNv23ShUOSZTVjCNRgWnrX4G3lbDBIcA==
+"@taquito/tzip12@10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/tzip12/-/tzip12-10.1.2.tgz#43d181fbc10f6e1ec0236f48c556146bcbebf3b5"
+  integrity sha512-plJAiKapmZ+d1x0fZ9+alK/8XXJ0FuUw9/g4x4s86ZDjqBYt3j4f3ioU7rma7IBGTyF7LRjZSM9SOZTuvo8mWQ==
   dependencies:
-    "@taquito/michelson-encoder" "^10.1.0"
-    "@taquito/taquito" "^10.1.0"
-    "@taquito/tzip16" "^10.1.0"
+    "@taquito/michelson-encoder" "^10.1.2"
+    "@taquito/taquito" "^10.1.2"
+    "@taquito/tzip16" "^10.1.2"
     bignumber.js "^9.0.1"
 
-"@taquito/tzip16@10.1.0", "@taquito/tzip16@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/tzip16/-/tzip16-10.1.0.tgz#63b451e05a9baf0e816751c79c0d14504b22244f"
-  integrity sha512-XHEOsc23RctLEbAk2r4sCZb7Kl281BvQ2JsOtrFwOKsbt+sJ80C0TJa+At9M11rlZc5bupgcUrMb8oElwSCcMA==
+"@taquito/tzip16@10.1.2", "@taquito/tzip16@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/tzip16/-/tzip16-10.1.2.tgz#ac345d04cb73de06972735d5955350fd4f1506a6"
+  integrity sha512-d7HOvTmOACWUcNOL9nAofjCMshSqV4Zu38nVDt/AxgvHtqauFTw2Tv3zC7KEKCAddnr6TrJPTu09X79v7wIxCw==
   dependencies:
-    "@taquito/http-utils" "^10.1.0"
-    "@taquito/michelson-encoder" "^10.1.0"
-    "@taquito/rpc" "^10.1.0"
-    "@taquito/taquito" "^10.1.0"
-    "@taquito/utils" "^10.1.0"
+    "@taquito/http-utils" "^10.1.2"
+    "@taquito/michelson-encoder" "^10.1.2"
+    "@taquito/rpc" "^10.1.2"
+    "@taquito/taquito" "^10.1.2"
+    "@taquito/utils" "^10.1.2"
     bignumber.js "^9.0.1"
     crypto-js "^4.0.0"
 
-"@taquito/utils@10.1.0", "@taquito/utils@^10.1.0":
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/@taquito/utils/-/utils-10.1.0.tgz#032843be047ee2a86ff07755530089d9922c10d0"
-  integrity sha512-jG4pBfbcZistUFCifJveHNm8cvOs/ZO8bG6fP9adLef1c8JDChLA5/y4yp3xqirCZyZIJ3EoBpT723uuF7EM+Q==
+"@taquito/utils@10.1.2", "@taquito/utils@^10.1.2":
+  version "10.1.2"
+  resolved "https://registry.yarnpkg.com/@taquito/utils/-/utils-10.1.2.tgz#3418af43748c06c63c5066040bdd34bb9ce9afc2"
+  integrity sha512-IlgNVL4tEKaQvP9jnS8tMRyOTZbFNxby3emtqcQVu5t3JYG36cyDNxHswCQK7ozN+e3GRP9q/L2iUMeKbGtWJQ==
   dependencies:
     blakejs "^1.1.0"
     bs58check "^2.1.2"


Test patch:
diff --git a/example/deploy-integration-tests-contracts.ts b/example/deploy-integration-tests-contracts.ts
index 9450996c4..4287f00e8 100644
--- a/example/deploy-integration-tests-contracts.ts
+++ b/example/deploy-integration-tests-contracts.ts
@@ -3,7 +3,7 @@ import { importKey } from '@taquito/signer';
 import { knownContract } from './data/knownContract';
 import { knownBigMapContract } from './data/knownBigMapContract';
 
-const provider = 'https://api.tez.ie/rpc/granadanet';
+const provider = 'https://granadanet.api.tez.ie';
 
 async function example() {
   const tezos = new TezosToolkit(provider);
diff --git a/integration-tests/contract-empty-implicit-account-into-new-implicit-account.spec.ts b/integration-tests/contract-empty-implicit-account-into-new-implicit-account.spec.ts
index bdcc0039c..becfd3d1e 100644
--- a/integration-tests/contract-empty-implicit-account-into-new-implicit-account.spec.ts
+++ b/integration-tests/contract-empty-implicit-account-into-new-implicit-account.spec.ts
@@ -9,7 +9,7 @@ CONFIGS().forEach(({ lib, rpc, setup, createAddress }) => {
             await setup()
             done()
         })
-        test('reveals the sender account, creates an unrevealed implicit account, empties the sender account into the created one', 2,  async (done: () => void) => {
+        it('reveals the sender account, creates an unrevealed implicit account, empties the sender account into the created one', async (done) => {
             const receiver = await createAddress();
             const receiver_pkh = await receiver.signer.publicKeyHash();
 
@@ -35,13 +35,21 @@ CONFIGS().forEach(({ lib, rpc, setup, createAddress }) => {
             const totalFees = estimate.suggestedFeeMutez + estimate.burnFeeMutez;
             const maxAmount = balance.minus(totalFees).toNumber();
             
+            // Temporary fix, see https://gitlab.com/tezos/tezos/-/issues/1754
+            // we need to increase the gasLimit and fee returned by the estimation
+            const gasBuffer = 500;
+            const MINIMAL_FEE_PER_GAS_MUTEZ = 0.1;
+            const increasedFee = (gasBuffer: number, opSize: number) => {
+                return (gasBuffer) * MINIMAL_FEE_PER_GAS_MUTEZ + opSize
+            }
+
             const opTransfer = await sender.contract.transfer({
                 to: receiver_pkh,
                 mutez: true,
-                amount: maxAmount,
-                fee: estimate.suggestedFeeMutez,
-                gasLimit: 1900,
-                storageLimit: estimate.storageLimit
+                amount: maxAmount - increasedFee(gasBuffer, Number(estimate.opSize)),
+                fee: estimate.suggestedFeeMutez + increasedFee(gasBuffer, Number(estimate.opSize)), // baker fees
+                gasLimit: estimate.gasLimit + gasBuffer,
+                storageLimit: estimate.storageLimit 
             });
 
             await opTransfer.confirmation();
diff --git a/integration-tests/contract-with-key-collections.spec.ts b/integration-tests/contract-with-key-collections.spec.ts
new file mode 100644
index 000000000..5d56a599d
--- /dev/null
+++ b/integration-tests/contract-with-key-collections.spec.ts
@@ -0,0 +1,77 @@
+import { CONFIGS } from "./config";
+import { MichelsonMap } from "@taquito/taquito";
+import { contractWithKeyCollections } from "./data/contract-with-key-collections";
+
+CONFIGS().forEach(({ lib, rpc, setup }) => {
+  const Tezos = lib;
+
+  describe(`Test contract with key collections using: ${rpc}`, () => {
+    type Storage = { keySet: string[], keyMap: MichelsonMap<string, number>; }
+
+    beforeEach(async (done) => {
+      await setup();
+      done();
+    });
+
+    it('Originate a contract with set and map of keys and change them using corresponding methods', async (done) => {
+      const initialStorage: Storage = {
+        keySet: [
+          'edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g',
+          'edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh',
+          'sppk7aVdgAmezMCRTcHciVkVZoGNnhSdKEYcn5pYaqt4PvLjgFbLRxo',
+          'p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV',
+          'p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT',
+          'p2pk6842BMz2Se9XuMxQDe7yVdaEvpjNGQ7DYjKTQwzMUtryaHmZcV9',
+        ],
+        keyMap: MichelsonMap.fromLiteral({
+          'edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh': 10,
+          'p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT': 40,
+          'sppk7aVdgAmezMCRTcHciVkVZoGNnhSdKEYcn5pYaqt4PvLjgFbLRxo': 100,
+          'sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj': 23,
+          'p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV': 17
+        }) as MichelsonMap<string, number>
+      };
+
+      const op = await Tezos.contract.originate({
+        balance: '1',
+        code: contractWithKeyCollections,
+        storage: initialStorage
+      });
+      await op.confirmation();
+      expect(op.hash).toBeDefined();
+      expect(op.includedInBlock).toBeLessThan(Number.POSITIVE_INFINITY);
+
+      const contract = await op.contract();
+      let storage = await contract.storage<Storage>();
+      expect([...storage['keySet']].sort()).toEqual([...initialStorage.keySet].sort());
+      expect(storage['keyMap'].get('edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh')?.toString()).toEqual('10');
+      expect(storage['keyMap'].get('sppk7aVdgAmezMCRTcHciVkVZoGNnhSdKEYcn5pYaqt4PvLjgFbLRxo')?.toString()).toEqual('100');
+      expect(storage['keyMap'].get('p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV')?.toString()).toEqual('17');
+
+      const newKeySet = [
+        'p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi',
+        'p2pk6842BMz2Se9XuMxQDe7yVdaEvpjNGQ7DYjKTQwzMUtryaHmZcV9',
+        'sppk7cudBXaXQUvbxb3f7tpKVSm6yKaYmjzqnPqvK6MrxFnnyxDEiim',
+        'p2pk66DZ3igTFpyqeezoqvFycrD5dHpJC6idPL4CWLCU1qT3Fu9j15V',
+        'sppk7ZWnHCVLsPE4CDFUTH424Qj2gUiJ3sp581nvexfz21w8gPjRVce'
+      ] 
+      const setOp = await contract.methods['setSet'](newKeySet).send();
+      await setOp.confirmation();
+      storage = await contract.storage<Storage>();
+      expect([...storage['keySet']].sort()).toEqual([...newKeySet].sort());
+
+      const newKeyMap = MichelsonMap.fromLiteral({
+        'p2pk66EcJmNvMMCauhfptZ5ffFXutNMytfxhcM7TkFMVLkySbgZ2dU9': 200,
+        'p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi': 201,
+      }) as MichelsonMap<string, number>;
+      const mapOp = await contract.methods['setMap'](newKeyMap).send();
+      await mapOp.confirmation();
+      storage = await contract.storage<Storage>();
+      expect(storage['keyMap'].get('p2pk66EcJmNvMMCauhfptZ5ffFXutNMytfxhcM7TkFMVLkySbgZ2dU9')?.toString()).toEqual('200');
+      expect(storage['keyMap'].get('p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi')?.toString()).toEqual('201');
+      expect(storage['keyMap'].get('p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV')).toBeUndefined();
+
+      done();
+    });
+  });
+});
diff --git a/integration-tests/data/contract-with-key-collections.ts b/integration-tests/data/contract-with-key-collections.ts
new file mode 100644
index 000000000..62f54bcc6
--- /dev/null
+++ b/integration-tests/data/contract-with-key-collections.ts
@@ -0,0 +1,51 @@
+export const contractWithKeyCollections = [{
+  "prim": "parameter",
+  "args": [
+    {
+      "prim": "or",
+      "args": [
+        {
+          "prim": "map",
+          "args": [{ "prim": "key" }, { "prim": "int" }],
+          "annots": ["%setMap"]
+        },
+        {
+          "prim": "set", "args": [{ "prim": "key" }],
+          "annots": ["%setSet"]
+        }]
+    }
+  ]
+},
+{
+  "prim": "storage",
+  "args": [
+    {
+      "prim": "pair",
+      "args":
+        [{
+          "prim": "map",
+          "args": [{ "prim": "key" }, { "prim": "int" }],
+          "annots": ["%keyMap"]
+        },
+        {
+          "prim": "set", "args": [{ "prim": "key" }],
+          "annots": ["%keySet"]
+        }]
+    }
+  ]
+},
+{
+  "prim": "code",
+  "args": [
+    [{ "prim": "UNPAIR" },
+    {
+      "prim": "IF_LEFT",
+      "args":
+        [[{ "prim": "SWAP" }, { "prim": "CDR" }, { "prim": "SWAP" },
+        { "prim": "PAIR" }],
+        [{ "prim": "SWAP" }, { "prim": "CAR" }, { "prim": "PAIR" }]]
+    },
+    { "prim": "NIL", "args": [{ "prim": "operation" }] },
+    { "prim": "PAIR" }]
+  ]
+}]
diff --git a/integration-tests/package-lock.json b/integration-tests/package-lock.json
index 5edaf28a2..b3dfe42d0 100644
--- a/integration-tests/package-lock.json
+++ b/integration-tests/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "integration-tests",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/integration-tests/package.json b/integration-tests/package.json
index 3a9504581..f5c4c8e32 100644
--- a/integration-tests/package.json
+++ b/integration-tests/package.json
@@ -10,20 +10,20 @@
     "test:granadanet-faucet": "RUN_GRANADANET_WITH_FAUCET=true jest --runInBand",
     "test": "jest"
   },
-  "version": "10.1.0",
+  "version": "10.1.2",
   "dependencies": {
     "@ledgerhq/hw-transport": "^5.51.1",
     "@ledgerhq/hw-transport-node-hid": "^5.51.1",
-    "@taquito/http-utils": "^10.1.0",
-    "@taquito/local-forging": "^10.1.0",
-    "@taquito/michel-codec": "^10.1.0",
-    "@taquito/michelson-encoder": "^10.1.0",
-    "@taquito/remote-signer": "^10.1.0",
-    "@taquito/rpc": "^10.1.0",
-    "@taquito/signer": "^10.1.0",
-    "@taquito/taquito": "^10.1.0",
-    "@taquito/tzip16": "^10.1.0",
-    "@taquito/utils": "^10.1.0",
+    "@taquito/http-utils": "^10.1.2",
+    "@taquito/local-forging": "^10.1.2",
+    "@taquito/michel-codec": "^10.1.2",
+    "@taquito/michelson-encoder": "^10.1.2",
+    "@taquito/remote-signer": "^10.1.2",
+    "@taquito/rpc": "^10.1.2",
+    "@taquito/signer": "^10.1.2",
+    "@taquito/taquito": "^10.1.2",
+    "@taquito/tzip16": "^10.1.2",
+    "@taquito/utils": "^10.1.2",
     "bignumber.js": "^9.0.1"
   },
   "private": true,
diff --git a/integration-tests/rpc-get-protocol-constants.spec.ts b/integration-tests/rpc-get-protocol-constants.spec.ts
index cf0312b16..5bca4f83e 100644
--- a/integration-tests/rpc-get-protocol-constants.spec.ts
+++ b/integration-tests/rpc-get-protocol-constants.spec.ts
@@ -10,7 +10,7 @@ CONFIGS().forEach(({ lib, protocol, rpc }) => {
 
     describe('Fetch constants for all protocols on Mainnet', () => {
 
-        const rpcUrl = 'https://api.tez.ie/rpc/mainnet';
+        const rpcUrl = 'https://mainnet.api.tez.ie/';
         Tezos.setRpcProvider(rpcUrl)
         it('succesfully fails at fetching constants for level 0', async (done) => {
             try {
diff --git a/packages/taquito-michel-codec/pack-test-tool/package-lock.json b/packages/taquito-michel-codec/pack-test-tool/package-lock.json
index 849e775ba..c5f9c2de2 100644
--- a/packages/taquito-michel-codec/pack-test-tool/package-lock.json
+++ b/packages/taquito-michel-codec/pack-test-tool/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "pack-test-tool",
-	"version": "10.1.0",
+	"version": "10.1.2",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
diff --git a/packages/taquito-michel-codec/pack-test-tool/package.json b/packages/taquito-michel-codec/pack-test-tool/package.json
index ece673e90..2c730ea20 100644
--- a/packages/taquito-michel-codec/pack-test-tool/package.json
+++ b/packages/taquito-michel-codec/pack-test-tool/package.json
@@ -1,6 +1,6 @@
 {
   "name": "pack-test-tool",
-  "version": "10.1.0",
+  "version": "10.1.2",
   "description": "Generate pack test data via Tezos RPC",
   "main": "pack-test-tool.js",
   "private": true,
@@ -10,7 +10,7 @@
   "author": "Eugene Zagidullin <eugene@ecadlabs.com>",
   "license": "MIT",
   "dependencies": {
-    "@taquito/rpc": "^10.1.0",
+    "@taquito/rpc": "^10.1.2",
     "yargs": "^16.2.0"
   }
 }
diff --git a/packages/taquito-michelson-encoder/test/tokens/key.spec.ts b/packages/taquito-michelson-encoder/test/tokens/key.spec.ts
index 75b11e4a8..b10c9212a 100644
--- a/packages/taquito-michelson-encoder/test/tokens/key.spec.ts
+++ b/packages/taquito-michelson-encoder/test/tokens/key.spec.ts
@@ -44,9 +44,9 @@ describe('Key token', () => {
     });
   });
 
-  describe('Tokey', () => {
+  describe('ToKey', () => {
     it('Should transform Michelson bytes data to a key of type string', () => {
-      expect(token.ToKey({ "bytes": "00ebcf82872f4942052704e95dc4bfa0538503dbece27414a39b6650bcecbff896" })).toEqual('edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g');
+      expect(token.ToKey({ bytes: "00ebcf82872f4942052704e95dc4bfa0538503dbece27414a39b6650bcecbff896" })).toEqual('edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g');
     });
   });
 
@@ -61,8 +61,29 @@ describe('Key token', () => {
 
   describe('compare', () => {
     it('Should compare key properly', () => {
-      expect(token.compare("edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g", "edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh")).toEqual(1);
+      // edpk... and edpk... -> Alphabetical comparison
+      // sppk... and sppk... -> Alphabetical comparison
+      // p2pk... and p2pk... -> Bytes comparison starting from the 5th byte: [3, 178, 139, 127, x, <start> b1, b2, ..., bn <end>]
+
       expect(token.compare("edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh", "edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g")).toEqual(-1);
+      expect(token.compare("edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g", "edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g")).toEqual(0);
+      expect(token.compare("edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g", "edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh")).toEqual(1);
+      expect(token.compare("edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g", "sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj")).toEqual(-1);
+      expect(token.compare("edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g", "p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV")).toEqual(-1);
+
+      expect(token.compare("sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj", "sppk7aVdgAmezMCRTcHciVkVZoGNnhSdKEYcn5pYaqt4PvLjgFbLRxo")).toEqual(-1);
+      expect(token.compare("sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj", "sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj")).toEqual(0);
+      expect(token.compare("sppk7aVdgAmezMCRTcHciVkVZoGNnhSdKEYcn5pYaqt4PvLjgFbLRxo", "sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj")).toEqual(1);
+      expect(token.compare("sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj", "edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g")).toEqual(1);
+      expect(token.compare("sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj", "p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT")).toEqual(-1);
+
+      expect(token.compare("p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV", "p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT")).toEqual(-1);
+      expect(token.compare("p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT", "p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT")).toEqual(0);
+      expect(token.compare("p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT", "p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV")).toEqual(1);
+      expect(token.compare("p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi", "p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV")).toEqual(-1);
+      expect(token.compare("p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV", "p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi")).toEqual(1);
+      expect(token.compare("p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT", "edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g")).toEqual(1);
+      expect(token.compare("p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT", "sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj")).toEqual(1);
     });
   });
 });
diff --git a/packages/taquito-michelson-encoder/test/tokens/map.spec.ts b/packages/taquito-michelson-encoder/test/tokens/map.spec.ts
index 3967efd9b..207ae8186 100644
--- a/packages/taquito-michelson-encoder/test/tokens/map.spec.ts
+++ b/packages/taquito-michelson-encoder/test/tokens/map.spec.ts
@@ -285,14 +285,22 @@ describe('Map token', () => {
       ) as MapToken;
       const map = MichelsonMap.fromLiteral({
         "edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g": 90,
+        "sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj": 45,
         "edpktm3zeGMzfzFuqgyYftt7uNyVRANTjrJCdU7bURwgGb9bRZwmJq": 30,
+        "p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT": 99,
         "edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh": 1,
+        "p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV": 60,
+        "p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi": 70,
       })
       const result = token.Encode([map]);
       expect(result).toEqual([
         { prim: 'Elt', args: [{ string: 'edpktm3zeGMzfzFuqgyYftt7uNyVRANTjrJCdU7bURwgGb9bRZwmJq' }, { int: '30' }] },
         { prim: 'Elt', args: [{ string: 'edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh' }, { int: '1' }] },
         { prim: 'Elt', args: [{ string: 'edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g' }, { int: '90' }] },
+        { prim: 'Elt', args: [{ string: 'sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj' }, { int: '45' }] },
+        { prim: 'Elt', args: [{ string: 'p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi' }, { int: '70' }] },
+        { prim: 'Elt', args: [{ string: 'p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV' }, { int: '60' }] },
+        { prim: 'Elt', args: [{ string: 'p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT' }, { int: '99' }] },
       ]);
     });
 
@@ -304,13 +312,21 @@ describe('Map token', () => {
       ) as MapToken;
       const map = new MichelsonMap();
       map.set("edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g", 30);
+      map.set('p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV', 23);
       map.set("edpktm3zeGMzfzFuqgyYftt7uNyVRANTjrJCdU7bURwgGb9bRZwmJq", 1);
       map.set('edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh', 2);
+      map.set('sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj', 17);
+      map.set('p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT', 17);
+      map.set('p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi', 90);
       const result = token.Encode([map]);
       expect(result).toEqual([
         { prim: 'Elt', args: [{ string: 'edpktm3zeGMzfzFuqgyYftt7uNyVRANTjrJCdU7bURwgGb9bRZwmJq' }, { int: '1' }] },
         { prim: 'Elt', args: [{ string: 'edpkuNjKKT48xBoT5asPrWdmuM1Yw8D93MwgFgVvtca8jb5pstzaCh' }, { int: '2' }] },
         { prim: 'Elt', args: [{ string: 'edpkvS5QFv7KRGfa3b87gg9DBpxSm3NpSwnjhUjNBQrRUUR66F7C9g' }, { int: '30' }] },
+        { prim: 'Elt', args: [{ string: 'sppk7aTKnmX5WV17KPo3LanjfPLoXTuNjkQTdLx2bYDqHPLVVCbSwoj' }, { int: '17' }] },
+        { prim: 'Elt', args: [{ string: 'p2pk66xmhjiN7LpfrDGFwpxPtJxkLtPjQ6HUxJbKmRbxSR7RMpamDwi' }, { int: '90' }] },
+        { prim: 'Elt', args: [{ string: 'p2pk67c5b5THCj5fyksX1C13etdUpLR9BDYvJUuJNrxeGqCgbY3NFpV' }, { int: '23' }] },
+        { prim: 'Elt', args: [{ string: 'p2pk65shUHKhx7zUSF7e8KZ2inmQ5aMS4jRBUmK6aCis4oaHoiWPXoT' }, { int: '17' }] },
       ]);
     })
 
diff --git a/packages/taquito-rpc/test/taquito-rpc.spec.ts b/packages/taquito-rpc/test/taquito-rpc.spec.ts
index 66edf7f7a..d4709b8f8 100644
--- a/packages/taquito-rpc/test/taquito-rpc.spec.ts
+++ b/packages/taquito-rpc/test/taquito-rpc.spec.ts
@@ -2349,9 +2349,9 @@ describe('RpcClient test', () => {
 
   describe('getRpcUrl', () => {
     it('return the RPC Url', () => {
-      const url: string = 'https://api.tez.ie/rpc/mainnet';
+      const url: string = 'https://mainnet.api.tez.ie/';
       const rpcUrlMainnet = (new RpcClient(url)).getRpcUrl();
-      expect(rpcUrlMainnet).toEqual('https://api.tez.ie/rpc/mainnet');
+      expect(rpcUrlMainnet).toEqual('https://mainnet.api.tez.ie/');
       const rpcUrlCarthagenet = (new RpcClient('https://api.tez.ie/rpc/carthagenet')).getRpcUrl();
       expect(rpcUrlCarthagenet).toEqual('https://api.tez.ie/rpc/carthagenet');
     });