@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.
- package/lib/exchange/swap/maybeTezosAccountUnrevealedAccount.d.ts.map +1 -1
- package/lib/exchange/swap/maybeTezosAccountUnrevealedAccount.js +5 -4
- package/lib/exchange/swap/maybeTezosAccountUnrevealedAccount.js.map +1 -1
- package/lib/families/solana/tx-fees.d.ts.map +1 -1
- package/lib/families/solana/tx-fees.js +8 -8
- package/lib/families/solana/tx-fees.js.map +1 -1
- package/lib-es/exchange/swap/maybeTezosAccountUnrevealedAccount.d.ts.map +1 -1
- package/lib-es/exchange/swap/maybeTezosAccountUnrevealedAccount.js +5 -4
- package/lib-es/exchange/swap/maybeTezosAccountUnrevealedAccount.js.map +1 -1
- package/lib-es/families/solana/tx-fees.d.ts.map +1 -1
- package/lib-es/families/solana/tx-fees.js +8 -8
- package/lib-es/families/solana/tx-fees.js.map +1 -1
- package/package.json +1 -1
- package/src/exchange/swap/maybeTezosAccountUnrevealedAccount.ts +1 -0
- package/src/families/solana/tx-fees.ts +11 -8
|
@@ -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,
|
|
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
|
|
7
|
-
((_b = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _b === void 0 ? void 0 : _b.
|
|
8
|
-
((_c = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _c === void 0 ? void 0 : _c.
|
|
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;
|
|
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;
|
|
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
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
//
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;AACA,+DAAgE;AAChE,kFAAuD;AAEvD,mCAA4C;AAE5C,yCAAqC;
|
|
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,
|
|
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
|
|
4
|
-
((_b = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _b === void 0 ? void 0 : _b.
|
|
5
|
-
((_c = swapTransaction === null || swapTransaction === void 0 ? void 0 : swapTransaction.transaction) === null || _c === void 0 ? void 0 : _c.
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
//
|
|
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
|
-
|
|
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":";;;;;;;;;AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;
|
|
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
|
@@ -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
|
|
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
|
-
|
|
24
|
-
//
|
|
25
|
-
|
|
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(
|
|
31
|
-
|
|
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
|
}
|