@ledgerhq/live-common 33.5.0-next.3 → 33.5.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"maybeTezosAccountUnrevealedAccount.d.ts","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,kCAAkC,oBAC5B,mBAAmB,KACnC,KAAK,GAAG,SAUV,CAAC"}
1
+ {"version":3,"file":"maybeTezosAccountUnrevealedAccount.d.ts","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,kCAAkC,oBAC5B,mBAAmB,KACnC,KAAK,GAAG,SAWV,CAAC"}
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.maybeTezosAccountUnrevealedAccount = void 0;
4
4
  const maybeTezosAccountUnrevealedAccount = (swapTransaction) => {
5
- var _a, _b, _c, _d;
6
- if (((_a = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _a === void 0 ? void 0 : _a.family) == "tezos" &&
7
- ((_b = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _b === void 0 ? void 0 : _b.estimatedFees) &&
8
- ((_c = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _c === void 0 ? void 0 : _c.fees) !== ((_d = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _d === void 0 ? void 0 : _d.estimatedFees)) {
5
+ var _a, _b, _c, _d, _e;
6
+ if (((_a = swapTransaction.swap) === null || _a === void 0 ? void 0 : _a.rates.status) == "success" &&
7
+ ((_b = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _b === void 0 ? void 0 : _b.family) == "tezos" &&
8
+ ((_c = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _c === void 0 ? void 0 : _c.estimatedFees) &&
9
+ ((_d = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _d === void 0 ? void 0 : _d.fees) !== ((_e = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _e === void 0 ? void 0 : _e.estimatedFees)) {
9
10
  const tezosError = new Error("Cannot swap with an unrevealed Tezos account");
10
11
  tezosError.name = "TezosUnrevealedAccount";
11
12
  return tezosError;
@@ -1 +1 @@
1
- {"version":3,"file":"maybeTezosAccountUnrevealedAccount.js","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":";;;AAEO,MAAM,kCAAkC,GAAG,CAChD,eAAoC,EACjB,EAAE;;IACrB,IACE,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,MAAM,KAAI,OAAO;SAC/C,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA;QAC3C,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,IAAI,OAAK,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA,EAClF;QACA,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7E,UAAU,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC3C,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAC;AAZW,QAAA,kCAAkC,sCAY7C"}
1
+ {"version":3,"file":"maybeTezosAccountUnrevealedAccount.js","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":";;;AAEO,MAAM,kCAAkC,GAAG,CAChD,eAAoC,EACjB,EAAE;;IACrB,IACE,CAAA,MAAA,eAAe,CAAC,IAAI,0CAAE,KAAK,CAAC,MAAM,KAAI,SAAS;QAC/C,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,MAAM,KAAI,OAAO;SAC/C,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA;QAC3C,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,IAAI,OAAK,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA,EAClF;QACA,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7E,UAAU,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC3C,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAC;AAbW,QAAA,kCAAkC,sCAa7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"tx-fees.d.ts","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQxD,wBAAsB,aAAa,CACjC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,mBAmB/B"}
1
+ {"version":3,"file":"tx-fees.d.ts","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAOxD,wBAAsB,aAAa,CACjC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,mBAuB/B"}
@@ -17,22 +17,22 @@ const js_buildTransaction_1 = require("./js-buildTransaction");
17
17
  const js_createTransaction_1 = __importDefault(require("./js-createTransaction"));
18
18
  const utils_1 = require("./utils");
19
19
  const logs_1 = require("@ledgerhq/logs");
20
- const errors_1 = require("@ledgerhq/errors");
21
- const MAX_RETRIES = 10; // TODO Candidate to put in coin config
20
+ const DEFAULT_TX_FEE = 5000;
22
21
  function estimateTxFee(api, address, kind) {
23
22
  return __awaiter(this, void 0, void 0, function* () {
24
23
  const tx = createDummyTx(address, kind);
25
24
  const [onChainTx] = yield (0, js_buildTransaction_1.buildTransactionWithAPI)(address, tx, api);
26
25
  let fee = yield api.getFeeForMessage(onChainTx.message);
27
- let retries = 0;
28
- while (typeof fee !== "number" && retries++ < MAX_RETRIES) {
29
- // FIXME HACK: sometimes fee is not a number, retrying with a next blockhash
30
- (0, logs_1.log)("debug", `api.getFeeForMessage returned invalid fee: <${fee}>`);
26
+ if (typeof fee !== "number") {
27
+ // Sometimes getFeeForMessage doesn't return valid fees, because onChainTx.message.recentBlockhash
28
+ // is outdated --> retrying with a next blockhash
29
+ (0, logs_1.log)("debug", `Solana api.getFeeForMessage returned invalid fee: <${fee}>`);
31
30
  fee = yield retryWithNewBlockhash(api, onChainTx);
32
31
  }
33
32
  if (typeof fee !== "number") {
34
- (0, logs_1.log)("error", `unexpected fee: <${fee}>, after retry with a new blockhash`);
35
- throw new errors_1.NetworkError();
33
+ (0, logs_1.log)("error", `Solana unexpected fee: <${fee}>, after retry with a new blockhash. Fallback to the default.`);
34
+ // If still failing, fallback to a default fees value
35
+ fee = DEFAULT_TX_FEE;
36
36
  }
37
37
  return fee;
38
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"maybeTezosAccountUnrevealedAccount.d.ts","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,kCAAkC,oBAC5B,mBAAmB,KACnC,KAAK,GAAG,SAUV,CAAC"}
1
+ {"version":3,"file":"maybeTezosAccountUnrevealedAccount.d.ts","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,kCAAkC,oBAC5B,mBAAmB,KACnC,KAAK,GAAG,SAWV,CAAC"}
@@ -1,8 +1,9 @@
1
1
  export const maybeTezosAccountUnrevealedAccount = (swapTransaction) => {
2
- var _a, _b, _c, _d;
3
- if (((_a = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _a === void 0 ? void 0 : _a.family) == "tezos" &&
4
- ((_b = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _b === void 0 ? void 0 : _b.estimatedFees) &&
5
- ((_c = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _c === void 0 ? void 0 : _c.fees) !== ((_d = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _d === void 0 ? void 0 : _d.estimatedFees)) {
2
+ var _a, _b, _c, _d, _e;
3
+ if (((_a = swapTransaction.swap) === null || _a === void 0 ? void 0 : _a.rates.status) == "success" &&
4
+ ((_b = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _b === void 0 ? void 0 : _b.family) == "tezos" &&
5
+ ((_c = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _c === void 0 ? void 0 : _c.estimatedFees) &&
6
+ ((_d = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _d === void 0 ? void 0 : _d.fees) !== ((_e = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _e === void 0 ? void 0 : _e.estimatedFees)) {
6
7
  const tezosError = new Error("Cannot swap with an unrevealed Tezos account");
7
8
  tezosError.name = "TezosUnrevealedAccount";
8
9
  return tezosError;
@@ -1 +1 @@
1
- {"version":3,"file":"maybeTezosAccountUnrevealedAccount.js","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,eAAoC,EACjB,EAAE;;IACrB,IACE,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,MAAM,KAAI,OAAO;SAC/C,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA;QAC3C,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,IAAI,OAAK,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA,EAClF;QACA,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7E,UAAU,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC3C,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"maybeTezosAccountUnrevealedAccount.js","sourceRoot":"","sources":["../../../src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,eAAoC,EACjB,EAAE;;IACrB,IACE,CAAA,MAAA,eAAe,CAAC,IAAI,0CAAE,KAAK,CAAC,MAAM,KAAI,SAAS;QAC/C,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,MAAM,KAAI,OAAO;SAC/C,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA;QAC3C,CAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,IAAI,OAAK,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,0CAAE,aAAa,CAAA,EAClF;QACA,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7E,UAAU,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC3C,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tx-fees.d.ts","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQxD,wBAAsB,aAAa,CACjC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,mBAmB/B"}
1
+ {"version":3,"file":"tx-fees.d.ts","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAOxD,wBAAsB,aAAa,CACjC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,mBAuB/B"}
@@ -11,22 +11,22 @@ import { buildTransactionWithAPI } from "./js-buildTransaction";
11
11
  import createTransaction from "./js-createTransaction";
12
12
  import { assertUnreachable } from "./utils";
13
13
  import { log } from "@ledgerhq/logs";
14
- import { NetworkError } from "@ledgerhq/errors";
15
- const MAX_RETRIES = 10; // TODO Candidate to put in coin config
14
+ const DEFAULT_TX_FEE = 5000;
16
15
  export function estimateTxFee(api, address, kind) {
17
16
  return __awaiter(this, void 0, void 0, function* () {
18
17
  const tx = createDummyTx(address, kind);
19
18
  const [onChainTx] = yield buildTransactionWithAPI(address, tx, api);
20
19
  let fee = yield api.getFeeForMessage(onChainTx.message);
21
- let retries = 0;
22
- while (typeof fee !== "number" && retries++ < MAX_RETRIES) {
23
- // FIXME HACK: sometimes fee is not a number, retrying with a next blockhash
24
- log("debug", `api.getFeeForMessage returned invalid fee: <${fee}>`);
20
+ if (typeof fee !== "number") {
21
+ // Sometimes getFeeForMessage doesn't return valid fees, because onChainTx.message.recentBlockhash
22
+ // is outdated --> retrying with a next blockhash
23
+ log("debug", `Solana api.getFeeForMessage returned invalid fee: <${fee}>`);
25
24
  fee = yield retryWithNewBlockhash(api, onChainTx);
26
25
  }
27
26
  if (typeof fee !== "number") {
28
- log("error", `unexpected fee: <${fee}>, after retry with a new blockhash`);
29
- throw new NetworkError();
27
+ log("error", `Solana unexpected fee: <${fee}>, after retry with a new blockhash. Fallback to the default.`);
28
+ // If still failing, fallback to a default fees value
29
+ fee = DEFAULT_TX_FEE;
30
30
  }
31
31
  return fee;
32
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx-fees.js","sourceRoot":"","sources":["../../../src/families/solana/tx-fees.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-common",
3
3
  "description": "Common ground for the Ledger Live apps",
4
- "version": "33.5.0-next.3",
4
+ "version": "33.5.0-next.5",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -4,6 +4,7 @@ export const maybeTezosAccountUnrevealedAccount = (
4
4
  swapTransaction: SwapTransactionType,
5
5
  ): Error | undefined => {
6
6
  if (
7
+ swapTransaction.swap?.rates.status == "success" &&
7
8
  swapTransaction?.transaction?.family == "tezos" &&
8
9
  swapTransaction?.transaction?.estimatedFees &&
9
10
  swapTransaction?.transaction?.fees !== swapTransaction?.transaction?.estimatedFees
@@ -5,9 +5,8 @@ import { Transaction, TransactionModel } from "./types";
5
5
  import { assertUnreachable } from "./utils";
6
6
  import { VersionedTransaction as OnChainTransaction } from "@solana/web3.js";
7
7
  import { log } from "@ledgerhq/logs";
8
- import { NetworkError } from "@ledgerhq/errors";
9
8
 
10
- const MAX_RETRIES = 10; // TODO Candidate to put in coin config
9
+ const DEFAULT_TX_FEE = 5000;
11
10
 
12
11
  export async function estimateTxFee(
13
12
  api: ChainAPI,
@@ -18,17 +17,21 @@ export async function estimateTxFee(
18
17
  const [onChainTx] = await buildTransactionWithAPI(address, tx, api);
19
18
 
20
19
  let fee = await api.getFeeForMessage(onChainTx.message);
21
- let retries = 0;
22
20
 
23
- while (typeof fee !== "number" && retries++ < MAX_RETRIES) {
24
- // FIXME HACK: sometimes fee is not a number, retrying with a next blockhash
25
- log("debug", `api.getFeeForMessage returned invalid fee: <${fee}>`);
21
+ if (typeof fee !== "number") {
22
+ // Sometimes getFeeForMessage doesn't return valid fees, because onChainTx.message.recentBlockhash
23
+ // is outdated --> retrying with a next blockhash
24
+ log("debug", `Solana api.getFeeForMessage returned invalid fee: <${fee}>`);
26
25
  fee = await retryWithNewBlockhash(api, onChainTx);
27
26
  }
28
27
 
29
28
  if (typeof fee !== "number") {
30
- log("error", `unexpected fee: <${fee}>, after retry with a new blockhash`);
31
- throw new NetworkError();
29
+ log(
30
+ "error",
31
+ `Solana unexpected fee: <${fee}>, after retry with a new blockhash. Fallback to the default.`,
32
+ );
33
+ // If still failing, fallback to a default fees value
34
+ fee = DEFAULT_TX_FEE;
32
35
  }
33
36
  return fee;
34
37
  }