@ledgerhq/coin-tezos 2.2.0-next.0 → 2.2.0-nightly.1

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,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-tezos@2.1.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tezos
2
+ > @ledgerhq/coin-tezos@2.1.1-nightly.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tezos
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,20 +1,28 @@
1
1
  # @ledgerhq/coin-tezos
2
2
 
3
- ## 2.2.0-next.0
3
+ ## 2.2.0-nightly.1
4
4
 
5
5
  ### Minor Changes
6
6
 
7
- - [#9666](https://github.com/LedgerHQ/ledger-live/pull/9666) [`8ce7b0a`](https://github.com/LedgerHQ/ledger-live/commit/8ce7b0ab2d1d73ef071102f795e7c868c676b1f4) Thanks [@Moustafa-Koterba](https://github.com/Moustafa-Koterba)! - update the following modules for an optional fees parameter on craft transaction functions: coin-stellar, coin-tezos, coin-tron, coin-xrp, coin-framework
7
+ - [#9755](https://github.com/LedgerHQ/ledger-live/pull/9755) [`c3c847b`](https://github.com/LedgerHQ/ledger-live/commit/c3c847bab4d01ec7cc1078344b519218806340ed) Thanks [@jnicoulaud-ledger](https://github.com/jnicoulaud-ledger)! - Fix stellar and tezos using static global variables, preventing multiple instances with different settings
8
8
 
9
- - [#9648](https://github.com/LedgerHQ/ledger-live/pull/9648) [`f1732a7`](https://github.com/LedgerHQ/ledger-live/commit/f1732a795e54f666b67e7686d59926037412caca) Thanks [@sprohaszka-ledger](https://github.com/sprohaszka-ledger)! - Remove SubAccount as it is an alias to TokenAccount
9
+ - [#9777](https://github.com/LedgerHQ/ledger-live/pull/9777) [`f3cae52`](https://github.com/LedgerHQ/ledger-live/commit/f3cae527ea376bee52a273a9566c69272701b7bb) Thanks [@jnicoulaud-ledger](https://github.com/jnicoulaud-ledger)! - fix tezos fee estimation silently catching errors
10
10
 
11
11
  ### Patch Changes
12
12
 
13
- - Updated dependencies [[`44ae74c`](https://github.com/LedgerHQ/ledger-live/commit/44ae74c272ba803bed7c9f4fc3351e3ce8a15531), [`71bb6a9`](https://github.com/LedgerHQ/ledger-live/commit/71bb6a9adb4ac83172be5def5b25d2836380df1d), [`8ce7b0a`](https://github.com/LedgerHQ/ledger-live/commit/8ce7b0ab2d1d73ef071102f795e7c868c676b1f4), [`46a9620`](https://github.com/LedgerHQ/ledger-live/commit/46a9620b4ea6343efc28792d3b57bf84ee2a23e8), [`1e7d454`](https://github.com/LedgerHQ/ledger-live/commit/1e7d454d99f1f39880f39a120c59020725d26475), [`f1732a7`](https://github.com/LedgerHQ/ledger-live/commit/f1732a795e54f666b67e7686d59926037412caca), [`d694069`](https://github.com/LedgerHQ/ledger-live/commit/d6940698a49b7a0ed48f84d6e8184d80760cca4f)]:
14
- - @ledgerhq/coin-framework@2.6.0-next.0
15
- - @ledgerhq/types-live@6.66.0-next.0
16
- - @ledgerhq/cryptoassets@13.14.1-next.0
17
- - @ledgerhq/live-network@2.0.7-next.0
13
+ - Updated dependencies [[`1e56618`](https://github.com/LedgerHQ/ledger-live/commit/1e56618a3c31e7980074072e0aae9422c145f4b3)]:
14
+ - @ledgerhq/cryptoassets@13.15.0-nightly.1
15
+ - @ledgerhq/coin-framework@2.6.0-nightly.1
16
+
17
+ ## 2.1.1-nightly.0
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [[`46a9620`](https://github.com/LedgerHQ/ledger-live/commit/46a9620b4ea6343efc28792d3b57bf84ee2a23e8)]:
22
+ - @ledgerhq/types-live@6.66.0-nightly.0
23
+ - @ledgerhq/coin-framework@2.6.0-nightly.0
24
+ - @ledgerhq/cryptoassets@13.14.1-nightly.0
25
+ - @ledgerhq/live-network@2.0.7-nightly.0
18
26
 
19
27
  ## 2.1.0
20
28
 
package/lib/api/index.js CHANGED
@@ -54,6 +54,9 @@ async function estimate(transactionIntent) {
54
54
  amount: transactionIntent.amount,
55
55
  },
56
56
  });
57
+ if (estimatedFees.taquitoError !== undefined) {
58
+ throw new Error(`Fees estimation failed: ${estimatedFees.taquitoError}`);
59
+ }
57
60
  return estimatedFees.estimatedFees;
58
61
  }
59
62
  async function fetchNextPage(address, state) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,13 @@ const tzkt_1 = __importDefault(require("../network/tzkt"));
7
7
  const index_1 = require("./index");
8
8
  const DEFAULT_ESTIMATED_FEES = 300n;
9
9
  const logicGetTransactions = jest.fn();
10
- const logicEstimateFeesMock = jest.fn(() => Promise.resolve({ estimatedFees: DEFAULT_ESTIMATED_FEES }));
10
+ const logicEstimateFees = jest.fn();
11
11
  const logicCraftTransactionMock = jest.fn((_account, _transaction) => {
12
12
  return { type: undefined, contents: undefined };
13
13
  });
14
14
  jest.mock("../logic", () => ({
15
15
  listOperations: async () => logicGetTransactions(),
16
- estimateFees: async () => logicEstimateFeesMock(),
16
+ estimateFees: async () => logicEstimateFees(),
17
17
  craftTransaction: (account, transaction) => logicCraftTransactionMock(account, transaction),
18
18
  rawEncode: () => Promise.resolve("tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ"),
19
19
  }));
@@ -77,14 +77,28 @@ describe("get operations", () => {
77
77
  describe("Testing craftTransaction function", () => {
78
78
  beforeEach(() => jest.clearAllMocks());
79
79
  it("should use estimated fees when user does not provide them for crafting a transaction ", async () => {
80
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
80
81
  await api.craftTransaction({ type: "send" });
81
- expect(logicEstimateFeesMock).toHaveBeenCalledTimes(1);
82
+ expect(logicEstimateFees).toHaveBeenCalledTimes(1);
82
83
  expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({ fee: { fees: DEFAULT_ESTIMATED_FEES.toString() } }));
83
84
  });
84
85
  it.each([[1n], [50n], [99n]])("should use custom user fees when user provides it for crafting a transaction", async (customFees) => {
86
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
85
87
  await api.craftTransaction({ type: "send" }, customFees);
86
- expect(logicEstimateFeesMock).toHaveBeenCalledTimes(0);
88
+ expect(logicEstimateFees).toHaveBeenCalledTimes(0);
87
89
  expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({ fee: { fees: customFees.toString() } }));
88
90
  });
89
91
  });
92
+ describe("Testing estimateFees function", () => {
93
+ beforeEach(() => jest.clearAllMocks());
94
+ it("should return estimation from logic module", async () => {
95
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
96
+ const result = await api.estimateFees({ type: "send" });
97
+ expect(result).toEqual(DEFAULT_ESTIMATED_FEES);
98
+ });
99
+ it("should throw taquito errors", async () => {
100
+ logicEstimateFees.mockResolvedValue({ taquitoError: "test" });
101
+ await expect(api.estimateFees({ type: "send" })).rejects.toThrow("Fees estimation failed: test");
102
+ });
103
+ });
90
104
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tezosToolkit.d.ts","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,wBAAgB,eAAe,IAAI,YAAY,CAK9C"}
1
+ {"version":3,"file":"tezosToolkit.d.ts","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhD,wBAAgB,eAAe,IAAI,YAAY,CAQ9C"}
@@ -6,11 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getTezosToolkit = getTezosToolkit;
7
7
  const taquito_1 = require("@taquito/taquito");
8
8
  const config_1 = __importDefault(require("../config"));
9
- let tezos = null;
9
+ // Tezos client instance is cached to avoid costly rebuild at every request
10
+ // Watch out: cache key is the URL, coin module can be instantiated several times with different URLs
11
+ const servers = new Map();
10
12
  function getTezosToolkit() {
11
- if (!tezos) {
12
- tezos = new taquito_1.TezosToolkit(config_1.default.getCoinConfig().node.url);
13
+ const url = config_1.default.getCoinConfig().node.url;
14
+ let server = servers.get(url);
15
+ if (server === undefined) {
16
+ server = new taquito_1.TezosToolkit(url);
17
+ servers.set(url, server);
13
18
  }
14
- return tezos;
19
+ return server;
15
20
  }
16
21
  //# sourceMappingURL=tezosToolkit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tezosToolkit.js","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":";;;;;AAKA,0CAKC;AAVD,8CAAgD;AAChD,uDAAmC;AAEnC,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,SAAgB,eAAe;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,sBAAY,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"tezosToolkit.js","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":";;;;;AAMA,0CAQC;AAdD,8CAAgD;AAChD,uDAAmC;AAEnC,2EAA2E;AAC3E,qGAAqG;AACrG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;AAChD,SAAgB,eAAe;IAC7B,MAAM,GAAG,GAAG,gBAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;IAChD,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,sBAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -48,6 +48,9 @@ async function estimate(transactionIntent) {
48
48
  amount: transactionIntent.amount,
49
49
  },
50
50
  });
51
+ if (estimatedFees.taquitoError !== undefined) {
52
+ throw new Error(`Fees estimation failed: ${estimatedFees.taquitoError}`);
53
+ }
51
54
  return estimatedFees.estimatedFees;
52
55
  }
53
56
  async function fetchNextPage(address, state) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import networkApi from "../network/tzkt";
2
2
  import { createApi } from "./index";
3
3
  const DEFAULT_ESTIMATED_FEES = 300n;
4
4
  const logicGetTransactions = jest.fn();
5
- const logicEstimateFeesMock = jest.fn(() => Promise.resolve({ estimatedFees: DEFAULT_ESTIMATED_FEES }));
5
+ const logicEstimateFees = jest.fn();
6
6
  const logicCraftTransactionMock = jest.fn((_account, _transaction) => {
7
7
  return { type: undefined, contents: undefined };
8
8
  });
9
9
  jest.mock("../logic", () => ({
10
10
  listOperations: async () => logicGetTransactions(),
11
- estimateFees: async () => logicEstimateFeesMock(),
11
+ estimateFees: async () => logicEstimateFees(),
12
12
  craftTransaction: (account, transaction) => logicCraftTransactionMock(account, transaction),
13
13
  rawEncode: () => Promise.resolve("tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ"),
14
14
  }));
@@ -72,14 +72,28 @@ describe("get operations", () => {
72
72
  describe("Testing craftTransaction function", () => {
73
73
  beforeEach(() => jest.clearAllMocks());
74
74
  it("should use estimated fees when user does not provide them for crafting a transaction ", async () => {
75
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
75
76
  await api.craftTransaction({ type: "send" });
76
- expect(logicEstimateFeesMock).toHaveBeenCalledTimes(1);
77
+ expect(logicEstimateFees).toHaveBeenCalledTimes(1);
77
78
  expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({ fee: { fees: DEFAULT_ESTIMATED_FEES.toString() } }));
78
79
  });
79
80
  it.each([[1n], [50n], [99n]])("should use custom user fees when user provides it for crafting a transaction", async (customFees) => {
81
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
80
82
  await api.craftTransaction({ type: "send" }, customFees);
81
- expect(logicEstimateFeesMock).toHaveBeenCalledTimes(0);
83
+ expect(logicEstimateFees).toHaveBeenCalledTimes(0);
82
84
  expect(logicCraftTransactionMock).toHaveBeenCalledWith(expect.any(Object), expect.objectContaining({ fee: { fees: customFees.toString() } }));
83
85
  });
84
86
  });
87
+ describe("Testing estimateFees function", () => {
88
+ beforeEach(() => jest.clearAllMocks());
89
+ it("should return estimation from logic module", async () => {
90
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
91
+ const result = await api.estimateFees({ type: "send" });
92
+ expect(result).toEqual(DEFAULT_ESTIMATED_FEES);
93
+ });
94
+ it("should throw taquito errors", async () => {
95
+ logicEstimateFees.mockResolvedValue({ taquitoError: "test" });
96
+ await expect(api.estimateFees({ type: "send" })).rejects.toThrow("Fees estimation failed: test");
97
+ });
98
+ });
85
99
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/api/index.test.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACpC,MAAM,yBAAyB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,QAAiB,EAAE,YAA6B,EAAE,EAAE;IAC7F,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,oBAAoB,EAAE;IAClD,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,iBAAiB,EAAE;IAC7C,gBAAgB,EAAE,CAAC,OAAgB,EAAE,WAA4B,EAAE,EAAE,CACnE,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC;IACjD,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,sCAAsC,CAAC;CACzE,CAAC,CAAC,CAAC;AAEJ,IAAI;KACD,KAAK,CAAC,UAAU,EAAE,qBAAqB,CAAC;KACxC,kBAAkB,CAAC,CAAC,OAAe,EAAE,EAAE,CACtC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAgB,CAAC,CAC/D,CAAC;AAEJ,MAAM,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,EAAE;QACL,GAAG,EAAE,2BAA2B;KACjC;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,KAAK;QACV,UAAU,EAAE,CAAC;KACd;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,KAAK;KACX;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;QACV,gBAAgB,EAAE,CAAC;KACpB;CACF,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAoB;QAC1B,cAAc,EAAE,CAAC;QACjB,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;YACjB,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,IAAI,EAAE;aACjB;YACD,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB;QACD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,UAAU,EAAE,CAAC,cAAc,CAAC;KAC7B,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAA6B,CAAC,CAAC;QACxE,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CACpD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,sBAAsB,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC9E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAC3B,8EAA8E,EAC9E,KAAK,EAAE,UAAkB,EAAE,EAAE;QAC3B,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAA6B,EAAE,UAAU,CAAC,CAAC;QACpF,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CACpD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAClE,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAA6B,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAA6B,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACzF,8BAA8B,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tezosToolkit.d.ts","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,wBAAgB,eAAe,IAAI,YAAY,CAK9C"}
1
+ {"version":3,"file":"tezosToolkit.d.ts","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhD,wBAAgB,eAAe,IAAI,YAAY,CAQ9C"}
@@ -1,10 +1,15 @@
1
1
  import { TezosToolkit } from "@taquito/taquito";
2
2
  import coinConfig from "../config";
3
- let tezos = null;
3
+ // Tezos client instance is cached to avoid costly rebuild at every request
4
+ // Watch out: cache key is the URL, coin module can be instantiated several times with different URLs
5
+ const servers = new Map();
4
6
  export function getTezosToolkit() {
5
- if (!tezos) {
6
- tezos = new TezosToolkit(coinConfig.getCoinConfig().node.url);
7
+ const url = coinConfig.getCoinConfig().node.url;
8
+ let server = servers.get(url);
9
+ if (server === undefined) {
10
+ server = new TezosToolkit(url);
11
+ servers.set(url, server);
7
12
  }
8
- return tezos;
13
+ return server;
9
14
  }
10
15
  //# sourceMappingURL=tezosToolkit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tezosToolkit.js","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,WAAW,CAAC;AAEnC,IAAI,KAAK,GAAwB,IAAI,CAAC;AAEtC,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"tezosToolkit.js","sourceRoot":"","sources":["../../src/logic/tezosToolkit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,UAAU,MAAM,WAAW,CAAC;AAEnC,2EAA2E;AAC3E,qGAAqG;AACrG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;AAChD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;IAChD,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-tezos",
3
- "version": "2.2.0-next.0",
3
+ "version": "2.2.0-nightly.1",
4
4
  "description": "Tezos Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -77,14 +77,14 @@
77
77
  "invariant": "^2.2.4",
78
78
  "lodash": "^4.17.21",
79
79
  "rxjs": "^7.8.1",
80
- "@ledgerhq/coin-framework": "^2.6.0-next.0",
81
- "@ledgerhq/cryptoassets": "^13.14.1-next.0",
80
+ "@ledgerhq/coin-framework": "^2.6.0-nightly.1",
81
+ "@ledgerhq/cryptoassets": "^13.15.0-nightly.1",
82
82
  "@ledgerhq/devices": "8.4.4",
83
83
  "@ledgerhq/errors": "^6.19.1",
84
- "@ledgerhq/live-network": "^2.0.7-next.0",
84
+ "@ledgerhq/live-network": "^2.0.7-nightly.0",
85
85
  "@ledgerhq/logs": "^6.12.0",
86
86
  "@ledgerhq/types-cryptoassets": "^7.21.0",
87
- "@ledgerhq/types-live": "^6.66.0-next.0"
87
+ "@ledgerhq/types-live": "^6.66.0-nightly.0"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@faker-js/faker": "^8.4.1",
@@ -6,16 +6,14 @@ import { createApi } from "./index";
6
6
  const DEFAULT_ESTIMATED_FEES = 300n;
7
7
 
8
8
  const logicGetTransactions = jest.fn();
9
- const logicEstimateFeesMock = jest.fn(() =>
10
- Promise.resolve({ estimatedFees: DEFAULT_ESTIMATED_FEES }),
11
- );
9
+ const logicEstimateFees = jest.fn();
12
10
  const logicCraftTransactionMock = jest.fn((_account: unknown, _transaction: { fee: bigint }) => {
13
11
  return { type: undefined, contents: undefined };
14
12
  });
15
13
 
16
14
  jest.mock("../logic", () => ({
17
15
  listOperations: async () => logicGetTransactions(),
18
- estimateFees: async () => logicEstimateFeesMock(),
16
+ estimateFees: async () => logicEstimateFees(),
19
17
  craftTransaction: (account: unknown, transaction: { fee: bigint }) =>
20
18
  logicCraftTransactionMock(account, transaction),
21
19
  rawEncode: () => Promise.resolve("tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ"),
@@ -90,8 +88,9 @@ describe("Testing craftTransaction function", () => {
90
88
  beforeEach(() => jest.clearAllMocks());
91
89
 
92
90
  it("should use estimated fees when user does not provide them for crafting a transaction ", async () => {
91
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
93
92
  await api.craftTransaction({ type: "send" } as TransactionIntent<void>);
94
- expect(logicEstimateFeesMock).toHaveBeenCalledTimes(1);
93
+ expect(logicEstimateFees).toHaveBeenCalledTimes(1);
95
94
  expect(logicCraftTransactionMock).toHaveBeenCalledWith(
96
95
  expect.any(Object),
97
96
  expect.objectContaining({ fee: { fees: DEFAULT_ESTIMATED_FEES.toString() } }),
@@ -101,8 +100,9 @@ describe("Testing craftTransaction function", () => {
101
100
  it.each([[1n], [50n], [99n]])(
102
101
  "should use custom user fees when user provides it for crafting a transaction",
103
102
  async (customFees: bigint) => {
103
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
104
104
  await api.craftTransaction({ type: "send" } as TransactionIntent<void>, customFees);
105
- expect(logicEstimateFeesMock).toHaveBeenCalledTimes(0);
105
+ expect(logicEstimateFees).toHaveBeenCalledTimes(0);
106
106
  expect(logicCraftTransactionMock).toHaveBeenCalledWith(
107
107
  expect.any(Object),
108
108
  expect.objectContaining({ fee: { fees: customFees.toString() } }),
@@ -110,3 +110,20 @@ describe("Testing craftTransaction function", () => {
110
110
  },
111
111
  );
112
112
  });
113
+
114
+ describe("Testing estimateFees function", () => {
115
+ beforeEach(() => jest.clearAllMocks());
116
+
117
+ it("should return estimation from logic module", async () => {
118
+ logicEstimateFees.mockResolvedValue({ estimatedFees: DEFAULT_ESTIMATED_FEES });
119
+ const result = await api.estimateFees({ type: "send" } as TransactionIntent<void>);
120
+ expect(result).toEqual(DEFAULT_ESTIMATED_FEES);
121
+ });
122
+
123
+ it("should throw taquito errors", async () => {
124
+ logicEstimateFees.mockResolvedValue({ taquitoError: "test" });
125
+ await expect(api.estimateFees({ type: "send" } as TransactionIntent<void>)).rejects.toThrow(
126
+ "Fees estimation failed: test",
127
+ );
128
+ });
129
+ });
package/src/api/index.ts CHANGED
@@ -75,6 +75,11 @@ async function estimate(transactionIntent: TransactionIntent<void>): Promise<big
75
75
  amount: transactionIntent.amount,
76
76
  },
77
77
  });
78
+
79
+ if (estimatedFees.taquitoError !== undefined) {
80
+ throw new Error(`Fees estimation failed: ${estimatedFees.taquitoError}`);
81
+ }
82
+
78
83
  return estimatedFees.estimatedFees;
79
84
  }
80
85
 
@@ -1,11 +1,15 @@
1
1
  import { TezosToolkit } from "@taquito/taquito";
2
2
  import coinConfig from "../config";
3
3
 
4
- let tezos: TezosToolkit | null = null;
5
-
4
+ // Tezos client instance is cached to avoid costly rebuild at every request
5
+ // Watch out: cache key is the URL, coin module can be instantiated several times with different URLs
6
+ const servers = new Map<string, TezosToolkit>();
6
7
  export function getTezosToolkit(): TezosToolkit {
7
- if (!tezos) {
8
- tezos = new TezosToolkit(coinConfig.getCoinConfig().node.url);
8
+ const url = coinConfig.getCoinConfig().node.url;
9
+ let server = servers.get(url);
10
+ if (server === undefined) {
11
+ server = new TezosToolkit(url);
12
+ servers.set(url, server);
9
13
  }
10
- return tezos;
14
+ return server;
11
15
  }