@ledgerhq/coin-module-boilerplate 2.0.0-nightly.0 → 2.0.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.
Files changed (38) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +44 -4
  3. package/lib/api/index.d.ts.map +1 -1
  4. package/lib/api/index.js +11 -10
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/bridge/prepareTransaction.d.ts.map +1 -1
  7. package/lib/bridge/prepareTransaction.js +6 -2
  8. package/lib/bridge/prepareTransaction.js.map +1 -1
  9. package/lib/bridge/prepareTransaction.test.js +2 -1
  10. package/lib/bridge/prepareTransaction.test.js.map +1 -1
  11. package/lib/common-logic/transaction/estimateFees.d.ts +1 -2
  12. package/lib/common-logic/transaction/estimateFees.d.ts.map +1 -1
  13. package/lib/common-logic/transaction/estimateFees.js +3 -9
  14. package/lib/common-logic/transaction/estimateFees.js.map +1 -1
  15. package/lib/network/node.d.ts.map +1 -1
  16. package/lib/network/node.js +4 -1
  17. package/lib/network/node.js.map +1 -1
  18. package/lib-es/api/index.d.ts.map +1 -1
  19. package/lib-es/api/index.js +11 -10
  20. package/lib-es/api/index.js.map +1 -1
  21. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -1
  22. package/lib-es/bridge/prepareTransaction.js +3 -2
  23. package/lib-es/bridge/prepareTransaction.js.map +1 -1
  24. package/lib-es/bridge/prepareTransaction.test.js +2 -1
  25. package/lib-es/bridge/prepareTransaction.test.js.map +1 -1
  26. package/lib-es/common-logic/transaction/estimateFees.d.ts +1 -2
  27. package/lib-es/common-logic/transaction/estimateFees.d.ts.map +1 -1
  28. package/lib-es/common-logic/transaction/estimateFees.js +3 -6
  29. package/lib-es/common-logic/transaction/estimateFees.js.map +1 -1
  30. package/lib-es/network/node.d.ts.map +1 -1
  31. package/lib-es/network/node.js +4 -1
  32. package/lib-es/network/node.js.map +1 -1
  33. package/package.json +3 -3
  34. package/src/api/index.ts +13 -19
  35. package/src/bridge/prepareTransaction.test.ts +2 -1
  36. package/src/bridge/prepareTransaction.ts +3 -2
  37. package/src/common-logic/transaction/estimateFees.ts +3 -6
  38. package/src/network/node.ts +4 -1
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-module-boilerplate@1.0.4 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-module-boilerplate
2
+ > @ledgerhq/coin-module-boilerplate@2.0.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-module-boilerplate
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,16 +1,56 @@
1
1
  # @ledgerhq/coin-module-boilerplate
2
2
 
3
- ## 2.0.0-nightly.0
3
+ ## 2.0.0
4
4
 
5
5
  ### Major Changes
6
6
 
7
7
  - [#9275](https://github.com/LedgerHQ/ledger-live/pull/9275) [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - Update Alpaca api to include generic token type and update list operations
8
8
 
9
+ ### Minor Changes
10
+
11
+ - [#9440](https://github.com/LedgerHQ/ledger-live/pull/9440) [`5f27549`](https://github.com/LedgerHQ/ledger-live/commit/5f275498e80060f98238a54e8ae3e2c94bfd7c91) Thanks [@qperrot](https://github.com/qperrot)! - feat estimateFees for alpacha
12
+
13
+ - [#9466](https://github.com/LedgerHQ/ledger-live/pull/9466) [`e2630cb`](https://github.com/LedgerHQ/ledger-live/commit/e2630cbec8d94ae037b2bf85cfa200a277ae739f) Thanks [@qperrot](https://github.com/qperrot)! - Tron craftTransaction alpaca implementation
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [[`5f27549`](https://github.com/LedgerHQ/ledger-live/commit/5f275498e80060f98238a54e8ae3e2c94bfd7c91), [`fa8b10c`](https://github.com/LedgerHQ/ledger-live/commit/fa8b10cac5603eedd7c2309d2bb544a7d2d1a1a8), [`e2630cb`](https://github.com/LedgerHQ/ledger-live/commit/e2630cbec8d94ae037b2bf85cfa200a277ae739f), [`c15d7ea`](https://github.com/LedgerHQ/ledger-live/commit/c15d7ea48e41168726a90a17809175aee5bfa940), [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286)]:
18
+ - @ledgerhq/coin-framework@2.4.0
19
+ - @ledgerhq/types-live@6.64.0
20
+
21
+ ## 2.0.0-next.0
22
+
23
+ ### Major Changes
24
+
25
+ - [#9275](https://github.com/LedgerHQ/ledger-live/pull/9275) [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - Update Alpaca api to include generic token type and update list operations
26
+
27
+ ### Minor Changes
28
+
29
+ - [#9440](https://github.com/LedgerHQ/ledger-live/pull/9440) [`5f27549`](https://github.com/LedgerHQ/ledger-live/commit/5f275498e80060f98238a54e8ae3e2c94bfd7c91) Thanks [@qperrot](https://github.com/qperrot)! - feat estimateFees for alpacha
30
+
31
+ - [#9466](https://github.com/LedgerHQ/ledger-live/pull/9466) [`e2630cb`](https://github.com/LedgerHQ/ledger-live/commit/e2630cbec8d94ae037b2bf85cfa200a277ae739f) Thanks [@qperrot](https://github.com/qperrot)! - Tron craftTransaction alpaca implementation
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [[`5f27549`](https://github.com/LedgerHQ/ledger-live/commit/5f275498e80060f98238a54e8ae3e2c94bfd7c91), [`fa8b10c`](https://github.com/LedgerHQ/ledger-live/commit/fa8b10cac5603eedd7c2309d2bb544a7d2d1a1a8), [`e2630cb`](https://github.com/LedgerHQ/ledger-live/commit/e2630cbec8d94ae037b2bf85cfa200a277ae739f), [`c15d7ea`](https://github.com/LedgerHQ/ledger-live/commit/c15d7ea48e41168726a90a17809175aee5bfa940), [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286)]:
36
+ - @ledgerhq/coin-framework@2.4.0-next.0
37
+ - @ledgerhq/types-live@6.64.0-next.0
38
+
39
+ ## 1.0.5
40
+
41
+ ### Patch Changes
42
+
43
+ - Updated dependencies [[`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76)]:
44
+ - @ledgerhq/types-live@6.63.0
45
+ - @ledgerhq/coin-framework@2.3.0
46
+
47
+ ## 1.0.5-next.0
48
+
9
49
  ### Patch Changes
10
50
 
11
- - Updated dependencies [[`fa8b10c`](https://github.com/LedgerHQ/ledger-live/commit/fa8b10cac5603eedd7c2309d2bb544a7d2d1a1a8), [`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76), [`c15d7ea`](https://github.com/LedgerHQ/ledger-live/commit/c15d7ea48e41168726a90a17809175aee5bfa940), [`b8fca38`](https://github.com/LedgerHQ/ledger-live/commit/b8fca386fa07cf393109a1928e92dfc790f9c286)]:
12
- - @ledgerhq/types-live@6.63.0-nightly.0
13
- - @ledgerhq/coin-framework@2.3.0-nightly.0
51
+ - Updated dependencies [[`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76)]:
52
+ - @ledgerhq/types-live@6.63.0-next.0
53
+ - @ledgerhq/coin-framework@2.3.0-next.0
14
54
 
15
55
  ## 1.0.4
16
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAY/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAY1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAqB,MAAM,oCAAoC,CAAC;AACjF,OAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAY/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAY1E"}
package/lib/api/index.js CHANGED
@@ -19,18 +19,19 @@ function createApi(config) {
19
19
  listOperations: common_logic_1.listOperations,
20
20
  };
21
21
  }
22
- async function craft(address, transaction) {
23
- const nextSequenceNumber = await (0, common_logic_1.getNextValidSequence)(address);
24
- const tx = await (0, common_logic_1.craftTransaction)({ address, nextSequenceNumber }, {
25
- recipient: transaction.recipient,
26
- amount: new bignumber_js_1.default(transaction.amount.toString()),
27
- fee: new bignumber_js_1.default(transaction.fee.toString()),
22
+ async function craft(transactionIntent) {
23
+ const nextSequenceNumber = await (0, common_logic_1.getNextValidSequence)(transactionIntent.sender);
24
+ const tx = await (0, common_logic_1.craftTransaction)({ address: transactionIntent.sender, nextSequenceNumber }, {
25
+ recipient: transactionIntent.recipient,
26
+ amount: new bignumber_js_1.default(transactionIntent.amount.toString()),
28
27
  });
29
28
  return tx.serializedTransaction;
30
29
  }
31
- //
32
- async function estimate(addr, amount) {
33
- const { serializedTransaction } = await (0, common_logic_1.craftTransaction)({ address: addr }, { amount: new bignumber_js_1.default(amount.toString()) });
34
- return BigInt((await (0, common_logic_1.estimateFees)(serializedTransaction)).toString());
30
+ async function estimate(transactionIntent) {
31
+ const { serializedTransaction } = await (0, common_logic_1.craftTransaction)({ address: transactionIntent.sender }, {
32
+ recipient: transactionIntent.recipient,
33
+ amount: new bignumber_js_1.default(transactionIntent.amount.toString()),
34
+ });
35
+ return await (0, common_logic_1.estimateFees)(serializedTransaction);
35
36
  }
36
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;AAeA,8BAYC;AA1BD,uDAA+D;AAC/D,kDASyB;AACzB,gEAAqC;AAGrC,SAAgB,SAAS,CAAC,MAAyB;IACjD,gBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS,EAAT,wBAAS;QACT,OAAO,EAAP,sBAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAV,yBAAU;QACV,SAAS,EAAT,wBAAS;QACT,cAAc,EAAd,6BAAc;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,OAAe,EACf,WAIC;IAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,MAAM,IAAA,+BAAgB,EAC/B,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAC/B;QACE,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,MAAM,EAAE,IAAI,sBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpD,GAAG,EAAE,IAAI,sBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;KAC/C,CACF,CAAC;IACF,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAClC,CAAC;AAED,EAAE;AACF,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IAClD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,IAAA,+BAAgB,EACtD,EAAE,OAAO,EAAE,IAAI,EAAE,EACjB,EAAE,MAAM,EAAE,IAAI,sBAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7C,CAAC;IACF,OAAO,MAAM,CAAC,CAAC,MAAM,IAAA,2BAAY,EAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;AAeA,8BAYC;AA1BD,uDAA+D;AAC/D,kDASyB;AACzB,gEAAqC;AAGrC,SAAgB,SAAS,CAAC,MAAyB;IACjD,gBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS,EAAT,wBAAS;QACT,OAAO,EAAP,sBAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAV,yBAAU;QACV,SAAS,EAAT,wBAAS;QACT,cAAc,EAAd,6BAAc;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,iBAAsD;IACzE,MAAM,kBAAkB,GAAG,MAAM,IAAA,mCAAoB,EAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,MAAM,IAAA,+BAAgB,EAC/B,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EACzD;QACE,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,MAAM,EAAE,IAAI,sBAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC3D,CACF,CAAC;IACF,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,iBAAsD;IAC5E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,IAAA,+BAAgB,EACtD,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,EACrC;QACE,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,MAAM,EAAE,IAAI,sBAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC3D,CACF,CAAC;IACF,OAAO,MAAM,IAAA,2BAAY,EAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAkB/E,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAkB/E,CAAC"}
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.prepareTransaction = void 0;
4
7
  const common_logic_1 = require("../common-logic");
5
8
  const node_1 = require("../network/node");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
6
10
  const prepareTransaction = async (account, transaction) => {
7
11
  const seq = await (0, node_1.getNextSequence)(account.freshAddress);
8
12
  const craftedTransaction = await (0, common_logic_1.craftTransaction)({ address: account.freshAddress, nextSequenceNumber: seq }, { amount: transaction.amount, recipient: transaction.recipient });
9
13
  const fee = await (0, common_logic_1.estimateFees)(craftedTransaction.serializedTransaction);
10
- if (transaction.fee !== fee) {
11
- return { ...transaction, fee };
14
+ if (transaction.fee !== new bignumber_js_1.default(fee.toString())) {
15
+ return { ...transaction, fee: new bignumber_js_1.default(fee.toString()) };
12
16
  }
13
17
  return transaction;
14
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;AAEA,kDAAiE;AACjE,0CAAkD;AAE3C,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAe,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,kBAAkB,GAAG,MAAM,IAAA,+BAAgB,EAC/C,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAC1D,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CACjE,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAY,EAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAEzE,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":";;;;;;AAEA,kDAAiE;AACjE,0CAAkD;AAClD,gEAAqC;AAE9B,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAe,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,kBAAkB,GAAG,MAAM,IAAA,+BAAgB,EAC/C,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAC1D,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CACjE,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAY,EAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAEzE,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,sBAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAlBW,QAAA,kBAAkB,sBAkB7B"}
@@ -20,8 +20,9 @@ describe("prepareTransaction", () => {
20
20
  craftTransactionSpy.mockReturnValue({ serializedTransaction: "serialized" });
21
21
  });
22
22
  it("should update fee field if it's different", async () => {
23
+ getNextSequenceSpy.mockResolvedValue(42);
23
24
  const oldTx = { fee: new bignumber_js_1.default(0) };
24
- estimateFeesSpy.mockResolvedValue(new bignumber_js_1.default(1));
25
+ estimateFeesSpy.mockResolvedValue(BigInt(1));
25
26
  const newTx = await (0, prepareTransaction_1.prepareTransaction)({}, oldTx);
26
27
  expect(newTx.fee).toEqual(new bignumber_js_1.default(1));
27
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,kDAAiE;AACjE,0CAAkD;AAClD,6DAA0D;AAI1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAZ,2BAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAhB,+BAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAkB,EAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,kDAAiE;AACjE,0CAAkD;AAClD,6DAA0D;AAI1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAf,sBAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAZ,2BAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAhB,+BAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAkB,EAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- import BigNumber from "bignumber.js";
2
- export declare function estimateFees(serializedTx: string): Promise<BigNumber>;
1
+ export declare function estimateFees(serializedTransaction: string): Promise<bigint>;
3
2
  //# sourceMappingURL=estimateFees.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAc3E"}
1
+ {"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjF"}
@@ -1,27 +1,21 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.estimateFees = estimateFees;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
4
  const node_1 = require("../../network/node");
9
5
  const errors_1 = require("../../types/errors");
10
- async function estimateFees(serializedTx) {
11
- let fees;
6
+ async function estimateFees(serializedTransaction) {
12
7
  try {
13
8
  // We call the node to do a dry run and estimate fees
14
- fees = await (0, node_1.simulate)(serializedTx);
9
+ return BigInt(await (0, node_1.simulate)(serializedTransaction));
15
10
  }
16
11
  catch (e) {
17
12
  // default value is required in case of simulation error, else user will encounter an error in the flow
18
13
  if (e instanceof errors_1.SimulationError) {
19
- fees = new bignumber_js_1.default(1000);
14
+ return BigInt(1000);
20
15
  }
21
16
  else {
22
17
  throw new Error("Unexpected error while estimating fees.");
23
18
  }
24
19
  }
25
- return new bignumber_js_1.default(fees);
26
20
  }
27
21
  //# sourceMappingURL=estimateFees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":";;;;;AAIA,oCAcC;AAlBD,gEAAqC;AACrC,6CAA8C;AAC9C,+CAAqD;AAE9C,KAAK,UAAU,YAAY,CAAC,YAAoB;IACrD,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAI,GAAG,MAAM,IAAA,eAAQ,EAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uGAAuG;QACvG,IAAI,CAAC,YAAY,wBAAe,EAAE,CAAC;YACjC,IAAI,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":";;AAGA,oCAYC;AAfD,6CAA8C;AAC9C,+CAAqD;AAE9C,KAAK,UAAU,YAAY,CAAC,qBAA6B;IAC9D,IAAI,CAAC;QACH,qDAAqD;QACrD,OAAO,MAAM,CAAC,MAAM,IAAA,eAAQ,EAAC,qBAAqB,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uGAAuG;QACvG,IAAI,CAAC,YAAY,wBAAe,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7D,eAAO,MAAM,QAAQ,iBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAWnE,CAAC;AAGF,eAAO,MAAM,eAAe,YAAmB,MAAM,KAAG,OAAO,CAAC,MAAM,CAYrE,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAQrD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAQA,CAAC;AAEF,eAAO,MAAM,MAAM,aAAoB,MAAM,KAAG,OAAO,CAAC,aAAa,CAQpE,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAiBjF,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7D,eAAO,MAAM,QAAQ,iBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAcnE,CAAC;AAGF,eAAO,MAAM,eAAe,YAAmB,MAAM,KAAG,OAAO,CAAC,MAAM,CAYrE,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAQrD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAQA,CAAC;AAEF,eAAO,MAAM,MAAM,aAAoB,MAAM,KAAG,OAAO,CAAC,aAAa,CAQpE,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAiBjF,CAAC"}
@@ -16,7 +16,10 @@ const simulate = async (serializedTx) => {
16
16
  const url = `${(0, live_env_1.getEnv)("NODE_BOILERPLATE")}/simulate`;
17
17
  const { data } = await (0, network_1.default)({
18
18
  url,
19
- method: "GET",
19
+ method: "POST",
20
+ data: {
21
+ txPayload: serializedTx,
22
+ },
20
23
  });
21
24
  if (data.error) {
22
25
  throw new errors_1.SimulationError();
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAkD;AAClD,6EAAqD;AACrD,iDAA4C;AAC5C,uDAAmC;AAGnC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC;AAE5D,oDAAoD;AAEpD,iCAAiC;AAC1B,MAAM,QAAQ,GAAG,KAAK,EAAE,YAAoB,EAAmB,EAAE;IACtE,gEAAgE;IAChE,MAAM,GAAG,GAAG,GAAG,IAAA,iBAAM,EAAC,kBAAkB,CAAC,WAAW,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC7B,GAAG;QACH,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,wBAAe,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB;AAEF,kCAAkC;AAC3B,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAmB,EAAE;IACxE,gEAAgE;IAChE,MAAM,GAAG,GAAG,GAAG,IAAA,iBAAM,EAAC,kBAAkB,CAAC,IAAI,OAAO,WAAW,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;YAC7B,GAAG;YACH,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEK,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;IACxD,gEAAgE;IAChE,MAAM,GAAG,GAAG,GAAG,IAAA,iBAAM,EAAC,kBAAkB,CAAC,cAAc,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC7B,GAAG;QACH,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEK,MAAM,YAAY,GAAG,KAAK,IAI9B,EAAE;IACH,gEAAgE;IAChE,MAAM,GAAG,GAAG,GAAG,IAAA,iBAAM,EAAC,kBAAkB,CAAC,gBAAgB,CAAC;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;QAC7B,GAAG;QACH,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB;AAEK,MAAM,MAAM,GAAG,KAAK,EAAE,QAAgB,EAA0B,EAAE;IACvE,gEAAgE;IAChE,MAAM,GAAG,GAAG,GAAG,IAAA,iBAAM,EAAC,kBAAkB,CAAC,SAAS,CAAC;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAgB;QAC5C,GAAG;QACH,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,MAAM,UAQjB;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,OAAe,EAAgC,EAAE;IACpF,MAAM,EACJ,IAAI,EAAE,EAAE,MAAM,EAAE,GACjB,GAAG,MAAM,IAAA,iBAAO,EAAkC;QACjD,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,UAAU,EAAE;QACjB,IAAI,EAAE;YACJ,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAY/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAY1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAqB,MAAM,oCAAoC,CAAC;AACjF,OAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAY/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAY1E"}
@@ -13,18 +13,19 @@ export function createApi(config) {
13
13
  listOperations,
14
14
  };
15
15
  }
16
- async function craft(address, transaction) {
17
- const nextSequenceNumber = await getNextValidSequence(address);
18
- const tx = await craftTransaction({ address, nextSequenceNumber }, {
19
- recipient: transaction.recipient,
20
- amount: new BigNumber(transaction.amount.toString()),
21
- fee: new BigNumber(transaction.fee.toString()),
16
+ async function craft(transactionIntent) {
17
+ const nextSequenceNumber = await getNextValidSequence(transactionIntent.sender);
18
+ const tx = await craftTransaction({ address: transactionIntent.sender, nextSequenceNumber }, {
19
+ recipient: transactionIntent.recipient,
20
+ amount: new BigNumber(transactionIntent.amount.toString()),
22
21
  });
23
22
  return tx.serializedTransaction;
24
23
  }
25
- //
26
- async function estimate(addr, amount) {
27
- const { serializedTransaction } = await craftTransaction({ address: addr }, { amount: new BigNumber(amount.toString()) });
28
- return BigInt((await estimateFees(serializedTransaction)).toString());
24
+ async function estimate(transactionIntent) {
25
+ const { serializedTransaction } = await craftTransaction({ address: transactionIntent.sender }, {
26
+ recipient: transactionIntent.recipient,
27
+ amount: new BigNumber(transactionIntent.amount.toString()),
28
+ });
29
+ return await estimateFees(serializedTransaction);
29
30
  }
30
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAsC,MAAM,WAAW,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,MAAM,UAAU,SAAS,CAAC,MAAyB;IACjD,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS;QACT,OAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU;QACV,SAAS;QACT,cAAc;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,OAAe,EACf,WAIC;IAED,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAC/B,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAC/B;QACE,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,MAAM,EAAE,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpD,GAAG,EAAE,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;KAC/C,CACF,CAAC;IACF,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAClC,CAAC;AAED,EAAE;AACF,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IAClD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,gBAAgB,CACtD,EAAE,OAAO,EAAE,IAAI,EAAE,EACjB,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7C,CAAC;IACF,OAAO,MAAM,CAAC,CAAC,MAAM,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAsC,MAAM,WAAW,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,MAAM,UAAU,SAAS,CAAC,MAAyB;IACjD,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL,SAAS;QACT,OAAO;QACP,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,QAAQ;QACtB,UAAU;QACV,SAAS;QACT,cAAc;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,iBAAsD;IACzE,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAC/B,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EACzD;QACE,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC3D,CACF,CAAC;IACF,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,iBAAsD;IAC5E,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,gBAAgB,CACtD,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE,EACrC;QACE,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,MAAM,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC3D,CACF,CAAC;IACF,OAAO,MAAM,YAAY,CAAC,qBAAqB,CAAC,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAkB/E,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAkB/E,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { craftTransaction, estimateFees } from "../common-logic";
2
2
  import { getNextSequence } from "../network/node";
3
+ import BigNumber from "bignumber.js";
3
4
  export const prepareTransaction = async (account, transaction) => {
4
5
  const seq = await getNextSequence(account.freshAddress);
5
6
  const craftedTransaction = await craftTransaction({ address: account.freshAddress, nextSequenceNumber: seq }, { amount: transaction.amount, recipient: transaction.recipient });
6
7
  const fee = await estimateFees(craftedTransaction.serializedTransaction);
7
- if (transaction.fee !== fee) {
8
- return { ...transaction, fee };
8
+ if (transaction.fee !== new BigNumber(fee.toString())) {
9
+ return { ...transaction, fee: new BigNumber(fee.toString()) };
9
10
  }
10
11
  return transaction;
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAC/C,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAC1D,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CACjE,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAEzE,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAqD,KAAK,EACvF,OAAO,EACP,WAAW,EACX,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAC/C,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAC1D,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CACjE,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAEzE,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -15,8 +15,9 @@ describe("prepareTransaction", () => {
15
15
  craftTransactionSpy.mockReturnValue({ serializedTransaction: "serialized" });
16
16
  });
17
17
  it("should update fee field if it's different", async () => {
18
+ getNextSequenceSpy.mockResolvedValue(42);
18
19
  const oldTx = { fee: new BigNumber(0) };
19
- estimateFeesSpy.mockResolvedValue(new BigNumber(1));
20
+ estimateFeesSpy.mockResolvedValue(BigInt(1));
20
21
  const newTx = await prepareTransaction({}, oldTx);
21
22
  expect(newTx.fee).toEqual(new BigNumber(1));
22
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,eAAiC,CAAC;IACtC,IAAI,kBAAoC,CAAC;IACzC,IAAI,mBAAqC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACxE,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,cAAc,CAAC,CAAC;QAC/D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3E,mBAAmB,CAAC,eAAe,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,EAAa,EAAE,KAAoB,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- import BigNumber from "bignumber.js";
2
- export declare function estimateFees(serializedTx: string): Promise<BigNumber>;
1
+ export declare function estimateFees(serializedTransaction: string): Promise<bigint>;
3
2
  //# sourceMappingURL=estimateFees.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAc3E"}
1
+ {"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYjF"}
@@ -1,21 +1,18 @@
1
- import BigNumber from "bignumber.js";
2
1
  import { simulate } from "../../network/node";
3
2
  import { SimulationError } from "../../types/errors";
4
- export async function estimateFees(serializedTx) {
5
- let fees;
3
+ export async function estimateFees(serializedTransaction) {
6
4
  try {
7
5
  // We call the node to do a dry run and estimate fees
8
- fees = await simulate(serializedTx);
6
+ return BigInt(await simulate(serializedTransaction));
9
7
  }
10
8
  catch (e) {
11
9
  // default value is required in case of simulation error, else user will encounter an error in the flow
12
10
  if (e instanceof SimulationError) {
13
- fees = new BigNumber(1000);
11
+ return BigInt(1000);
14
12
  }
15
13
  else {
16
14
  throw new Error("Unexpected error while estimating fees.");
17
15
  }
18
16
  }
19
- return new BigNumber(fees);
20
17
  }
21
18
  //# sourceMappingURL=estimateFees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAoB;IACrD,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,qDAAqD;QACrD,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uGAAuG;QACvG,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;YACjC,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,qBAA6B;IAC9D,IAAI,CAAC;QACH,qDAAqD;QACrD,OAAO,MAAM,CAAC,MAAM,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uGAAuG;QACvG,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7D,eAAO,MAAM,QAAQ,iBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAWnE,CAAC;AAGF,eAAO,MAAM,eAAe,YAAmB,MAAM,KAAG,OAAO,CAAC,MAAM,CAYrE,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAQrD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAQA,CAAC;AAEF,eAAO,MAAM,MAAM,aAAoB,MAAM,KAAG,OAAO,CAAC,aAAa,CAQpE,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAiBjF,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7D,eAAO,MAAM,QAAQ,iBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAcnE,CAAC;AAGF,eAAO,MAAM,eAAe,YAAmB,MAAM,KAAG,OAAO,CAAC,MAAM,CAYrE,CAAC;AAEF,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAQrD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAQA,CAAC;AAEF,eAAO,MAAM,MAAM,aAAoB,MAAM,KAAG,OAAO,CAAC,aAAa,CAQpE,CAAC;AAEF,eAAO,MAAM,cAAc,YAAmB,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAiBjF,CAAC"}
@@ -10,7 +10,10 @@ export const simulate = async (serializedTx) => {
10
10
  const url = `${getEnv("NODE_BOILERPLATE")}/simulate`;
11
11
  const { data } = await network({
12
12
  url,
13
- method: "GET",
13
+ method: "POST",
14
+ data: {
15
+ txPayload: serializedTx,
16
+ },
14
17
  });
15
18
  if (data.error) {
16
19
  throw new SimulationError();
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/network/node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-module-boilerplate",
3
- "version": "2.0.0-nightly.0",
3
+ "version": "2.0.0",
4
4
  "description": "Boilerplate coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -101,13 +101,13 @@
101
101
  "bignumber.js": "^9.1.2",
102
102
  "invariant": "^2.2.4",
103
103
  "rxjs": "^7.8.1",
104
- "@ledgerhq/coin-framework": "^2.3.0-nightly.0",
104
+ "@ledgerhq/coin-framework": "^2.4.0",
105
105
  "@ledgerhq/cryptoassets": "^13.13.0",
106
106
  "@ledgerhq/devices": "^8.4.4",
107
107
  "@ledgerhq/errors": "^6.19.1",
108
108
  "@ledgerhq/live-network": "^2.0.5",
109
109
  "@ledgerhq/live-env": "^2.6.0",
110
- "@ledgerhq/types-live": "^6.63.0-nightly.0"
110
+ "@ledgerhq/types-live": "^6.64.0"
111
111
  },
112
112
  "devDependencies": {
113
113
  "@types/invariant": "^2.2.37",
package/src/api/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Api } from "@ledgerhq/coin-framework/api/index";
1
+ import type { Api, TransactionIntent } from "@ledgerhq/coin-framework/api/index";
2
2
  import coinConfig, { type BoilerplateConfig } from "../config";
3
3
  import {
4
4
  broadcast,
@@ -27,31 +27,25 @@ export function createApi(config: BoilerplateConfig): Api<BoilerplateToken> {
27
27
  };
28
28
  }
29
29
 
30
- async function craft(
31
- address: string,
32
- transaction: {
33
- recipient: string;
34
- amount: bigint;
35
- fee: bigint;
36
- },
37
- ): Promise<string> {
38
- const nextSequenceNumber = await getNextValidSequence(address);
30
+ async function craft(transactionIntent: TransactionIntent<BoilerplateToken>): Promise<string> {
31
+ const nextSequenceNumber = await getNextValidSequence(transactionIntent.sender);
39
32
  const tx = await craftTransaction(
40
- { address, nextSequenceNumber },
33
+ { address: transactionIntent.sender, nextSequenceNumber },
41
34
  {
42
- recipient: transaction.recipient,
43
- amount: new BigNumber(transaction.amount.toString()),
44
- fee: new BigNumber(transaction.fee.toString()),
35
+ recipient: transactionIntent.recipient,
36
+ amount: new BigNumber(transactionIntent.amount.toString()),
45
37
  },
46
38
  );
47
39
  return tx.serializedTransaction;
48
40
  }
49
41
 
50
- //
51
- async function estimate(addr: string, amount: bigint): Promise<bigint> {
42
+ async function estimate(transactionIntent: TransactionIntent<BoilerplateToken>): Promise<bigint> {
52
43
  const { serializedTransaction } = await craftTransaction(
53
- { address: addr },
54
- { amount: new BigNumber(amount.toString()) },
44
+ { address: transactionIntent.sender },
45
+ {
46
+ recipient: transactionIntent.recipient,
47
+ amount: new BigNumber(transactionIntent.amount.toString()),
48
+ },
55
49
  );
56
- return BigInt((await estimateFees(serializedTransaction)).toString());
50
+ return await estimateFees(serializedTransaction);
57
51
  }
@@ -20,8 +20,9 @@ describe("prepareTransaction", () => {
20
20
  });
21
21
 
22
22
  it("should update fee field if it's different", async () => {
23
+ getNextSequenceSpy.mockResolvedValue(42);
23
24
  const oldTx = { fee: new BigNumber(0) };
24
- estimateFeesSpy.mockResolvedValue(new BigNumber(1));
25
+ estimateFeesSpy.mockResolvedValue(BigInt(1));
25
26
  const newTx = await prepareTransaction({} as Account, oldTx as Transaction);
26
27
  expect(newTx.fee).toEqual(new BigNumber(1));
27
28
  });
@@ -2,6 +2,7 @@ import { AccountBridge } from "@ledgerhq/types-live";
2
2
  import { Transaction } from "../types";
3
3
  import { craftTransaction, estimateFees } from "../common-logic";
4
4
  import { getNextSequence } from "../network/node";
5
+ import BigNumber from "bignumber.js";
5
6
 
6
7
  export const prepareTransaction: AccountBridge<Transaction>["prepareTransaction"] = async (
7
8
  account,
@@ -16,8 +17,8 @@ export const prepareTransaction: AccountBridge<Transaction>["prepareTransaction"
16
17
 
17
18
  const fee = await estimateFees(craftedTransaction.serializedTransaction);
18
19
 
19
- if (transaction.fee !== fee) {
20
- return { ...transaction, fee };
20
+ if (transaction.fee !== new BigNumber(fee.toString())) {
21
+ return { ...transaction, fee: new BigNumber(fee.toString()) };
21
22
  }
22
23
 
23
24
  return transaction;
@@ -1,19 +1,16 @@
1
- import BigNumber from "bignumber.js";
2
1
  import { simulate } from "../../network/node";
3
2
  import { SimulationError } from "../../types/errors";
4
3
 
5
- export async function estimateFees(serializedTx: string): Promise<BigNumber> {
6
- let fees;
4
+ export async function estimateFees(serializedTransaction: string): Promise<bigint> {
7
5
  try {
8
6
  // We call the node to do a dry run and estimate fees
9
- fees = await simulate(serializedTx);
7
+ return BigInt(await simulate(serializedTransaction));
10
8
  } catch (e) {
11
9
  // default value is required in case of simulation error, else user will encounter an error in the flow
12
10
  if (e instanceof SimulationError) {
13
- fees = new BigNumber(1000);
11
+ return BigInt(1000);
14
12
  } else {
15
13
  throw new Error("Unexpected error while estimating fees.");
16
14
  }
17
15
  }
18
- return new BigNumber(fees);
19
16
  }
@@ -14,7 +14,10 @@ export const simulate = async (serializedTx: string): Promise<number> => {
14
14
  const url = `${getEnv("NODE_BOILERPLATE")}/simulate`;
15
15
  const { data } = await network({
16
16
  url,
17
- method: "GET",
17
+ method: "POST",
18
+ data: {
19
+ txPayload: serializedTx,
20
+ },
18
21
  });
19
22
  if (data.error) {
20
23
  throw new SimulationError();