@ledgerhq/coin-aptos 1.4.0-next.0 → 1.4.0-nightly.0

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/CHANGELOG.md CHANGED
@@ -1,18 +1,13 @@
1
1
  # @ledgerhq/coin-aptos
2
2
 
3
- ## 1.4.0-next.0
3
+ ## 1.4.0-nightly.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
7
  - [#8897](https://github.com/LedgerHQ/ledger-live/pull/8897) [`f1ea0eb`](https://github.com/LedgerHQ/ledger-live/commit/f1ea0eb70ccd55281b1c86f4f038bb813c8200c1) Thanks [@jccguimaraes](https://github.com/jccguimaraes)! - support: move aptos to its own coin module
8
8
 
9
- - [#9046](https://github.com/LedgerHQ/ledger-live/pull/9046) [`c4cb2a3`](https://github.com/LedgerHQ/ledger-live/commit/c4cb2a3e16cb6542a386c3c90f4ec5d3fca9ecf8) Thanks [@may01](https://github.com/may01)! - Change test values to differ from default one
10
-
11
- - [#9034](https://github.com/LedgerHQ/ledger-live/pull/9034) [`335f059`](https://github.com/LedgerHQ/ledger-live/commit/335f059cc8b8727576f2f95ef2be45a53bc892fa) Thanks [@may01](https://github.com/may01)! - Use makeLRUCache for getEstimatedGas
12
-
13
9
  ### Patch Changes
14
10
 
15
- - Updated dependencies [[`11c3b8b`](https://github.com/LedgerHQ/ledger-live/commit/11c3b8b27bc4fa996757c58ec7f5beac90c7a425), [`a231c50`](https://github.com/LedgerHQ/ledger-live/commit/a231c5084a24acb0e49efeb3c7ab1f5dbc6fd94b), [`41b153a`](https://github.com/LedgerHQ/ledger-live/commit/41b153adb98ce8de3336563694204d83905dba0e), [`d15a240`](https://github.com/LedgerHQ/ledger-live/commit/d15a2402bbd7f39353059c1cc2f74b9ac0876d3d), [`9534f17`](https://github.com/LedgerHQ/ledger-live/commit/9534f17247e1472b0fee8b993a83264f4e4ab363), [`1524353`](https://github.com/LedgerHQ/ledger-live/commit/152435384370b729183b7898308cbc1f8b61e451)]:
16
- - @ledgerhq/types-live@6.59.0-next.0
17
- - @ledgerhq/cryptoassets@13.10.0-next.0
18
- - @ledgerhq/coin-framework@0.25.0-next.0
11
+ - Updated dependencies [[`a231c50`](https://github.com/LedgerHQ/ledger-live/commit/a231c5084a24acb0e49efeb3c7ab1f5dbc6fd94b)]:
12
+ - @ledgerhq/types-live@6.58.0-nightly.1
13
+ - @ledgerhq/coin-framework@0.22.1-nightly.1
@@ -74,8 +74,8 @@ describe("getFeesForTransaction Test", () => {
74
74
  success: false,
75
75
  vm_status: ["INSUFFICIENT_BALANCE"],
76
76
  expiration_timestamp_secs: 5,
77
- gas_used: "202",
78
- gas_unit_price: "102",
77
+ gas_used: "201",
78
+ gas_unit_price: "101",
79
79
  },
80
80
  ]);
81
81
  const account = (0, bridge_fixture_1.createFixtureAccount)();
@@ -86,10 +86,10 @@ describe("getFeesForTransaction Test", () => {
86
86
  account.spendableBalance = new bignumber_js_1.default(100000000);
87
87
  const result = yield getFeesForTransaction.getFee(account, transaction, aptosClient);
88
88
  const expected = {
89
- fees: new bignumber_js_1.default(20604),
89
+ fees: new bignumber_js_1.default(20301),
90
90
  estimate: {
91
- maxGasAmount: "202",
92
- gasUnitPrice: "102",
91
+ maxGasAmount: "201",
92
+ gasUnitPrice: "101",
93
93
  },
94
94
  errors: {},
95
95
  };
@@ -121,7 +121,7 @@ describe("getFeesForTransaction Test", () => {
121
121
  });
122
122
  describe("when using getEstimatedGas", () => {
123
123
  describe("when key not in cache", () => {
124
- it("should return fee", () => __awaiter(void 0, void 0, void 0, function* () {
124
+ it("should return cached fee", () => __awaiter(void 0, void 0, void 0, function* () {
125
125
  simulateTransaction = jest.fn(() => [
126
126
  {
127
127
  success: true,
@@ -154,30 +154,30 @@ describe("getFeesForTransaction Test", () => {
154
154
  jest.clearAllMocks();
155
155
  });
156
156
  it("should return cached fee", () => __awaiter(void 0, void 0, void 0, function* () {
157
+ const mocked = jest.spyOn(getFeesForTransaction, "getFee");
158
+ const account = (0, bridge_fixture_1.createFixtureAccount)();
159
+ const transaction = (0, bridge_fixture_1.createFixtureTransaction)();
160
+ const aptosClient = new api_1.AptosAPI(account.currency.id);
161
+ transaction.amount = new bignumber_js_1.default(10);
157
162
  simulateTransaction = jest.fn(() => [
158
163
  {
159
164
  success: true,
160
165
  vm_status: [],
161
166
  expiration_timestamp_secs: 5,
162
- gas_used: "202",
163
- gas_unit_price: "102",
167
+ gas_used: "9",
168
+ gas_unit_price: "100",
164
169
  },
165
170
  ]);
166
- const account = (0, bridge_fixture_1.createFixtureAccount)();
167
- account.xpub = "xpub";
168
- const transaction = (0, bridge_fixture_1.createFixtureTransaction)();
169
- const aptosClient = new api_1.AptosAPI(account.currency.id);
170
- transaction.amount = new bignumber_js_1.default(10);
171
171
  const result1 = yield getFeesForTransaction.getEstimatedGas(account, transaction, aptosClient);
172
172
  const result2 = yield getFeesForTransaction.getEstimatedGas(account, transaction, aptosClient);
173
- expect(simulateTransaction.mock.calls).toHaveLength(1);
173
+ expect(mocked).toHaveBeenCalledTimes(1);
174
174
  const expected = {
175
175
  errors: {},
176
176
  estimate: {
177
- gasUnitPrice: "102",
178
- maxGasAmount: "202",
177
+ gasUnitPrice: "101",
178
+ maxGasAmount: "201",
179
179
  },
180
- fees: new bignumber_js_1.default("20604"),
180
+ fees: new bignumber_js_1.default("20301"),
181
181
  };
182
182
  expect(result1).toEqual(expected);
183
183
  expect(result2).toEqual(expected);
@@ -1 +1 @@
1
- {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAqC;AACrC,gEAA6F;AAC7F,0FAA4E;AAC5E,mCAAqC;AAErC,IAAI,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEpC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IAC1B,OAAO;QACL,QAAQ,EAAE;YACR,OAAO;gBACL,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxD,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBACxC,mBAAmB;gBACnB,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;aACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,OAAO;QACL,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,GAAG;QACtB,gBAAgB,EAAE,CAAC;QACnB,2BAA2B,EAAE,IAAI,CAAC,EAAE,EAAE;KACvC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;YACtD,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;gBACrD,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;oBAClC;wBACE,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,CAAC,sBAAsB,CAAC;wBACnC,yBAAyB,EAAE,CAAC;wBAC5B,QAAQ,EAAE,KAAK;wBACf,cAAc,EAAE,KAAK;qBACtB;iBACF,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAA,qCAAoB,GAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAA,yCAAwB,GAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAI,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEtD,WAAW,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;gBAEpD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAErF,MAAM,QAAQ,GAAG;oBACf,IAAI,EAAE,IAAI,sBAAS,CAAC,KAAK,CAAC;oBAC1B,QAAQ,EAAE;wBACR,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,KAAK;qBACpB;oBACD,MAAM,EAAE,EAAE;iBACX,CAAC;gBAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;YAC7C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;gBAC/C,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;oBAClC;wBACE,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,CAAC,aAAa,CAAC;wBAC1B,yBAAyB,EAAE,CAAC;wBAC5B,QAAQ,EAAE,GAAG;wBACb,cAAc,EAAE,KAAK;qBACtB;iBACF,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAA,qCAAoB,GAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAA,yCAAwB,GAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAI,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEtD,WAAW,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;gBAEpD,MAAM,CAAC,GAAS,EAAE;oBAChB,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBACxE,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACrC,EAAE,CAAC,mBAAmB,EAAE,GAAS,EAAE;gBACjC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;oBAClC;wBACE,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,EAAE;wBACb,yBAAyB,EAAE,CAAC;wBAC5B,QAAQ,EAAE,GAAG;wBACb,cAAc,EAAE,KAAK;qBACtB;iBACF,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAA,qCAAoB,GAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAA,yCAAwB,GAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAI,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEtD,WAAW,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC;gBAEpD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CACxD,OAAO,EACP,WAAW,EACX,WAAW,CACZ,CAAC;gBAEF,MAAM,QAAQ,GAAG;oBACf,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE;wBACR,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,GAAG;qBAClB;oBACD,IAAI,EAAE,IAAI,sBAAS,CAAC,KAAK,CAAC;iBAC3B,CAAC;gBAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0BAA0B,EAAE,GAAS,EAAE;gBACxC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;oBAClC;wBACE,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,EAAE;wBACb,yBAAyB,EAAE,CAAC;wBAC5B,QAAQ,EAAE,KAAK;wBACf,cAAc,EAAE,KAAK;qBACtB;iBACF,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,IAAA,qCAAoB,GAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,MAAM,WAAW,GAAG,IAAA,yCAAwB,GAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAI,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEtD,WAAW,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC;gBAEvC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,eAAe,CACzD,OAAO,EACP,WAAW,EACX,WAAW,CACZ,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,eAAe,CACzD,OAAO,EACP,WAAW,EACX,WAAW,CACZ,CAAC;gBAEF,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEvD,MAAM,QAAQ,GAAG;oBACf,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE;wBACR,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,KAAK;qBACpB;oBACD,IAAI,EAAE,IAAI,sBAAS,CAAC,OAAO,CAAC;iBAC7B,CAAC;gBAEF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFeesForTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,MAAM,YACR,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CA+CpC,CAAC;AAUF,eAAO,MAAM,eAAe,YACjB,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CAEpC,CAAC"}
1
+ {"version":3,"file":"getFeesForTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAcF,eAAO,MAAM,MAAM,YACR,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CA+CpC,CAAC;AAEF,eAAO,MAAM,eAAe,YACjB,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CAYpC,CAAC"}
@@ -16,9 +16,19 @@ exports.getEstimatedGas = exports.getFee = void 0;
16
16
  const ts_sdk_1 = require("@aptos-labs/ts-sdk");
17
17
  const logs_1 = require("@ledgerhq/logs");
18
18
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
19
- const cache_1 = require("@ledgerhq/live-network/cache");
20
19
  const buildTransaction_1 = __importDefault(require("./buildTransaction"));
21
20
  const logic_1 = require("./logic");
21
+ const CACHE = {
22
+ amount: new bignumber_js_1.default(0),
23
+ estimate: Promise.resolve({
24
+ fees: new bignumber_js_1.default(0),
25
+ estimate: {
26
+ maxGasAmount: "",
27
+ gasUnitPrice: "",
28
+ },
29
+ errors: {},
30
+ }),
31
+ };
22
32
  const getFee = (account, transaction, aptosClient) => __awaiter(void 0, void 0, void 0, function* () {
23
33
  const res = {
24
34
  fees: new bignumber_js_1.default(logic_1.DEFAULT_GAS).multipliedBy(logic_1.DEFAULT_GAS_PRICE),
@@ -64,11 +74,17 @@ const getFee = (account, transaction, aptosClient) => __awaiter(void 0, void 0,
64
74
  return res;
65
75
  });
66
76
  exports.getFee = getFee;
67
- const CACHE = (0, cache_1.makeLRUCache)(exports.getFee, (_account, transaction, _aptosClient) => {
68
- return transaction.amount.toString();
69
- }, (0, cache_1.seconds)(30));
70
77
  const getEstimatedGas = (account, transaction, aptosClient) => __awaiter(void 0, void 0, void 0, function* () {
71
- return yield CACHE(account, transaction, aptosClient);
78
+ if (!CACHE.amount.eq(transaction.amount)) {
79
+ CACHE.estimate = (0, exports.getFee)(account, transaction, aptosClient);
80
+ CACHE.amount = transaction.amount;
81
+ }
82
+ // XXX: we await Promise form getFee() in this place to make cache work for asynchronous calls
83
+ // Example [if wee await getFee()]: thread 1 goes to getFee() and awaits there for transaction simulation.
84
+ // at this moment thread 2 will enter getEstimatedGas() CACHE is not set yet, it will call getFee() as well
85
+ // Current implementation: CACHE.estimate set immediately after getFee() is called, so thread 2 will not go under if clause
86
+ // and both treads will wait for promise resolve in return statement.
87
+ return yield CACHE.estimate;
72
88
  });
73
89
  exports.getEstimatedGas = getEstimatedGas;
74
90
  //# sourceMappingURL=getFeesForTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFeesForTransaction.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getFeesForTransaction.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"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"}
@@ -46,8 +46,8 @@ describe("getFeesForTransaction Test", () => {
46
46
  success: false,
47
47
  vm_status: ["INSUFFICIENT_BALANCE"],
48
48
  expiration_timestamp_secs: 5,
49
- gas_used: "202",
50
- gas_unit_price: "102",
49
+ gas_used: "201",
50
+ gas_unit_price: "101",
51
51
  },
52
52
  ]);
53
53
  const account = createFixtureAccount();
@@ -58,10 +58,10 @@ describe("getFeesForTransaction Test", () => {
58
58
  account.spendableBalance = new BigNumber(100000000);
59
59
  const result = yield getFeesForTransaction.getFee(account, transaction, aptosClient);
60
60
  const expected = {
61
- fees: new BigNumber(20604),
61
+ fees: new BigNumber(20301),
62
62
  estimate: {
63
- maxGasAmount: "202",
64
- gasUnitPrice: "102",
63
+ maxGasAmount: "201",
64
+ gasUnitPrice: "101",
65
65
  },
66
66
  errors: {},
67
67
  };
@@ -93,7 +93,7 @@ describe("getFeesForTransaction Test", () => {
93
93
  });
94
94
  describe("when using getEstimatedGas", () => {
95
95
  describe("when key not in cache", () => {
96
- it("should return fee", () => __awaiter(void 0, void 0, void 0, function* () {
96
+ it("should return cached fee", () => __awaiter(void 0, void 0, void 0, function* () {
97
97
  simulateTransaction = jest.fn(() => [
98
98
  {
99
99
  success: true,
@@ -126,30 +126,30 @@ describe("getFeesForTransaction Test", () => {
126
126
  jest.clearAllMocks();
127
127
  });
128
128
  it("should return cached fee", () => __awaiter(void 0, void 0, void 0, function* () {
129
+ const mocked = jest.spyOn(getFeesForTransaction, "getFee");
130
+ const account = createFixtureAccount();
131
+ const transaction = createFixtureTransaction();
132
+ const aptosClient = new AptosAPI(account.currency.id);
133
+ transaction.amount = new BigNumber(10);
129
134
  simulateTransaction = jest.fn(() => [
130
135
  {
131
136
  success: true,
132
137
  vm_status: [],
133
138
  expiration_timestamp_secs: 5,
134
- gas_used: "202",
135
- gas_unit_price: "102",
139
+ gas_used: "9",
140
+ gas_unit_price: "100",
136
141
  },
137
142
  ]);
138
- const account = createFixtureAccount();
139
- account.xpub = "xpub";
140
- const transaction = createFixtureTransaction();
141
- const aptosClient = new AptosAPI(account.currency.id);
142
- transaction.amount = new BigNumber(10);
143
143
  const result1 = yield getFeesForTransaction.getEstimatedGas(account, transaction, aptosClient);
144
144
  const result2 = yield getFeesForTransaction.getEstimatedGas(account, transaction, aptosClient);
145
- expect(simulateTransaction.mock.calls).toHaveLength(1);
145
+ expect(mocked).toHaveBeenCalledTimes(1);
146
146
  const expected = {
147
147
  errors: {},
148
148
  estimate: {
149
- gasUnitPrice: "102",
150
- maxGasAmount: "202",
149
+ gasUnitPrice: "101",
150
+ maxGasAmount: "201",
151
151
  },
152
- fees: new BigNumber("20604"),
152
+ fees: new BigNumber("20301"),
153
153
  };
154
154
  expect(result1).toEqual(expected);
155
155
  expect(result2).toEqual(expected);
@@ -1 +1 @@
1
- {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFeesForTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,MAAM,YACR,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CA+CpC,CAAC;AAUF,eAAO,MAAM,eAAe,YACjB,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CAEpC,CAAC"}
1
+ {"version":3,"file":"getFeesForTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAcF,eAAO,MAAM,MAAM,YACR,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CA+CpC,CAAC;AAEF,eAAO,MAAM,eAAe,YACjB,OAAO,eACH,WAAW,eACX,QAAQ,KACpB,QAAQ,0BAA0B,CAYpC,CAAC"}
@@ -10,9 +10,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { Ed25519PublicKey } from "@aptos-labs/ts-sdk";
11
11
  import { log } from "@ledgerhq/logs";
12
12
  import BigNumber from "bignumber.js";
13
- import { makeLRUCache, seconds } from "@ledgerhq/live-network/cache";
14
13
  import buildTransaction from "./buildTransaction";
15
14
  import { DEFAULT_GAS, DEFAULT_GAS_PRICE, ESTIMATE_GAS_MUL } from "./logic";
15
+ const CACHE = {
16
+ amount: new BigNumber(0),
17
+ estimate: Promise.resolve({
18
+ fees: new BigNumber(0),
19
+ estimate: {
20
+ maxGasAmount: "",
21
+ gasUnitPrice: "",
22
+ },
23
+ errors: {},
24
+ }),
25
+ };
16
26
  export const getFee = (account, transaction, aptosClient) => __awaiter(void 0, void 0, void 0, function* () {
17
27
  const res = {
18
28
  fees: new BigNumber(DEFAULT_GAS).multipliedBy(DEFAULT_GAS_PRICE),
@@ -57,10 +67,16 @@ export const getFee = (account, transaction, aptosClient) => __awaiter(void 0, v
57
67
  }
58
68
  return res;
59
69
  });
60
- const CACHE = makeLRUCache(getFee, (_account, transaction, _aptosClient) => {
61
- return transaction.amount.toString();
62
- }, seconds(30));
63
70
  export const getEstimatedGas = (account, transaction, aptosClient) => __awaiter(void 0, void 0, void 0, function* () {
64
- return yield CACHE(account, transaction, aptosClient);
71
+ if (!CACHE.amount.eq(transaction.amount)) {
72
+ CACHE.estimate = getFee(account, transaction, aptosClient);
73
+ CACHE.amount = transaction.amount;
74
+ }
75
+ // XXX: we await Promise form getFee() in this place to make cache work for asynchronous calls
76
+ // Example [if wee await getFee()]: thread 1 goes to getFee() and awaits there for transaction simulation.
77
+ // at this moment thread 2 will enter getEstimatedGas() CACHE is not set yet, it will call getFee() as well
78
+ // Current implementation: CACHE.estimate set immediately after getFee() is called, so thread 2 will not go under if clause
79
+ // and both treads will wait for promise resolve in return statement.
80
+ return yield CACHE.estimate;
65
81
  });
66
82
  //# sourceMappingURL=getFeesForTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFeesForTransaction.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getFeesForTransaction.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-aptos",
3
- "version": "1.4.0-next.0",
3
+ "version": "1.4.0-nightly.0",
4
4
  "description": "Ledger Aptos Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -89,14 +89,14 @@
89
89
  "invariant": "^2.2.4",
90
90
  "lodash": "^4.17.21",
91
91
  "rxjs": "^7.8.1",
92
- "@ledgerhq/coin-framework": "^0.25.0-next.0",
93
- "@ledgerhq/cryptoassets": "^13.10.0-next.0",
92
+ "@ledgerhq/coin-framework": "^0.22.1-nightly.1",
93
+ "@ledgerhq/cryptoassets": "^13.9.0",
94
94
  "@ledgerhq/devices": "8.4.4",
95
95
  "@ledgerhq/errors": "^6.19.1",
96
96
  "@ledgerhq/live-env": "^2.5.0",
97
97
  "@ledgerhq/live-network": "^2.0.4",
98
98
  "@ledgerhq/logs": "^6.12.0",
99
- "@ledgerhq/types-live": "^6.59.0-next.0"
99
+ "@ledgerhq/types-live": "^6.58.0-nightly.1"
100
100
  },
101
101
  "devDependencies": {
102
102
  "@faker-js/faker": "^9.4.0",
@@ -42,8 +42,8 @@ describe("getFeesForTransaction Test", () => {
42
42
  success: false,
43
43
  vm_status: ["INSUFFICIENT_BALANCE"],
44
44
  expiration_timestamp_secs: 5,
45
- gas_used: "202",
46
- gas_unit_price: "102",
45
+ gas_used: "201",
46
+ gas_unit_price: "101",
47
47
  },
48
48
  ]);
49
49
 
@@ -58,10 +58,10 @@ describe("getFeesForTransaction Test", () => {
58
58
  const result = await getFeesForTransaction.getFee(account, transaction, aptosClient);
59
59
 
60
60
  const expected = {
61
- fees: new BigNumber(20604),
61
+ fees: new BigNumber(20301),
62
62
  estimate: {
63
- maxGasAmount: "202",
64
- gasUnitPrice: "102",
63
+ maxGasAmount: "201",
64
+ gasUnitPrice: "101",
65
65
  },
66
66
  errors: {},
67
67
  };
@@ -99,7 +99,7 @@ describe("getFeesForTransaction Test", () => {
99
99
 
100
100
  describe("when using getEstimatedGas", () => {
101
101
  describe("when key not in cache", () => {
102
- it("should return fee", async () => {
102
+ it("should return cached fee", async () => {
103
103
  simulateTransaction = jest.fn(() => [
104
104
  {
105
105
  success: true,
@@ -143,21 +143,23 @@ describe("getFeesForTransaction Test", () => {
143
143
  });
144
144
 
145
145
  it("should return cached fee", async () => {
146
+ const mocked = jest.spyOn(getFeesForTransaction, "getFee");
147
+
148
+ const account = createFixtureAccount();
149
+ const transaction = createFixtureTransaction();
150
+ const aptosClient = new AptosAPI(account.currency.id);
151
+
152
+ transaction.amount = new BigNumber(10);
153
+
146
154
  simulateTransaction = jest.fn(() => [
147
155
  {
148
156
  success: true,
149
157
  vm_status: [],
150
158
  expiration_timestamp_secs: 5,
151
- gas_used: "202",
152
- gas_unit_price: "102",
159
+ gas_used: "9",
160
+ gas_unit_price: "100",
153
161
  },
154
162
  ]);
155
- const account = createFixtureAccount();
156
- account.xpub = "xpub";
157
- const transaction = createFixtureTransaction();
158
- const aptosClient = new AptosAPI(account.currency.id);
159
-
160
- transaction.amount = new BigNumber(10);
161
163
 
162
164
  const result1 = await getFeesForTransaction.getEstimatedGas(
163
165
  account,
@@ -170,15 +172,15 @@ describe("getFeesForTransaction Test", () => {
170
172
  aptosClient,
171
173
  );
172
174
 
173
- expect(simulateTransaction.mock.calls).toHaveLength(1);
175
+ expect(mocked).toHaveBeenCalledTimes(1);
174
176
 
175
177
  const expected = {
176
178
  errors: {},
177
179
  estimate: {
178
- gasUnitPrice: "102",
179
- maxGasAmount: "202",
180
+ gasUnitPrice: "101",
181
+ maxGasAmount: "201",
180
182
  },
181
- fees: new BigNumber("20604"),
183
+ fees: new BigNumber("20301"),
182
184
  };
183
185
 
184
186
  expect(result1).toEqual(expected);
@@ -2,7 +2,6 @@ import { Ed25519PublicKey } from "@aptos-labs/ts-sdk";
2
2
  import { log } from "@ledgerhq/logs";
3
3
  import type { Account } from "@ledgerhq/types-live";
4
4
  import BigNumber from "bignumber.js";
5
- import { makeLRUCache, seconds } from "@ledgerhq/live-network/cache";
6
5
  import { AptosAPI } from "../api";
7
6
  import buildTransaction from "./buildTransaction";
8
7
  import { DEFAULT_GAS, DEFAULT_GAS_PRICE, ESTIMATE_GAS_MUL } from "./logic";
@@ -17,6 +16,18 @@ type IGetEstimatedGasReturnType = {
17
16
  errors: TransactionErrors;
18
17
  };
19
18
 
19
+ const CACHE = {
20
+ amount: new BigNumber(0),
21
+ estimate: Promise.resolve({
22
+ fees: new BigNumber(0),
23
+ estimate: {
24
+ maxGasAmount: "",
25
+ gasUnitPrice: "",
26
+ },
27
+ errors: {},
28
+ }),
29
+ };
30
+
20
31
  export const getFee = async (
21
32
  account: Account,
22
33
  transaction: Transaction,
@@ -70,18 +81,20 @@ export const getFee = async (
70
81
  return res;
71
82
  };
72
83
 
73
- const CACHE = makeLRUCache(
74
- getFee,
75
- (_account: Account, transaction: Transaction, _aptosClient: AptosAPI) => {
76
- return transaction.amount.toString();
77
- },
78
- seconds(30),
79
- );
80
-
81
84
  export const getEstimatedGas = async (
82
85
  account: Account,
83
86
  transaction: Transaction,
84
87
  aptosClient: AptosAPI,
85
88
  ): Promise<IGetEstimatedGasReturnType> => {
86
- return await CACHE(account, transaction, aptosClient);
89
+ if (!CACHE.amount.eq(transaction.amount)) {
90
+ CACHE.estimate = getFee(account, transaction, aptosClient);
91
+ CACHE.amount = transaction.amount;
92
+ }
93
+
94
+ // XXX: we await Promise form getFee() in this place to make cache work for asynchronous calls
95
+ // Example [if wee await getFee()]: thread 1 goes to getFee() and awaits there for transaction simulation.
96
+ // at this moment thread 2 will enter getEstimatedGas() CACHE is not set yet, it will call getFee() as well
97
+ // Current implementation: CACHE.estimate set immediately after getFee() is called, so thread 2 will not go under if clause
98
+ // and both treads will wait for promise resolve in return statement.
99
+ return await CACHE.estimate;
87
100
  };