@ledgerhq/coin-tezos 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 (41) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +54 -4
  3. package/lib/api/index.d.ts.map +1 -1
  4. package/lib/api/index.integ.test.js +9 -14
  5. package/lib/api/index.integ.test.js.map +1 -1
  6. package/lib/api/index.js +19 -9
  7. package/lib/api/index.js.map +1 -1
  8. package/lib/bridge/prepareTransaction.integ.test.js +3 -4
  9. package/lib/bridge/prepareTransaction.integ.test.js.map +1 -1
  10. package/lib/logic/craftTransaction.integ.test.d.ts +2 -0
  11. package/lib/logic/craftTransaction.integ.test.d.ts.map +1 -0
  12. package/lib/logic/craftTransaction.integ.test.js +86 -0
  13. package/lib/logic/craftTransaction.integ.test.js.map +1 -0
  14. package/lib/logic/craftTransaction.test.d.ts +2 -0
  15. package/lib/logic/craftTransaction.test.d.ts.map +1 -0
  16. package/lib/logic/craftTransaction.test.js +145 -0
  17. package/lib/logic/craftTransaction.test.js.map +1 -0
  18. package/lib/logic/estimateFees.integ.test.js +4 -4
  19. package/lib-es/api/index.d.ts.map +1 -1
  20. package/lib-es/api/index.integ.test.js +9 -14
  21. package/lib-es/api/index.integ.test.js.map +1 -1
  22. package/lib-es/api/index.js +19 -9
  23. package/lib-es/api/index.js.map +1 -1
  24. package/lib-es/bridge/prepareTransaction.integ.test.js +3 -4
  25. package/lib-es/bridge/prepareTransaction.integ.test.js.map +1 -1
  26. package/lib-es/logic/craftTransaction.integ.test.d.ts +2 -0
  27. package/lib-es/logic/craftTransaction.integ.test.d.ts.map +1 -0
  28. package/lib-es/logic/craftTransaction.integ.test.js +81 -0
  29. package/lib-es/logic/craftTransaction.integ.test.js.map +1 -0
  30. package/lib-es/logic/craftTransaction.test.d.ts +2 -0
  31. package/lib-es/logic/craftTransaction.test.d.ts.map +1 -0
  32. package/lib-es/logic/craftTransaction.test.js +140 -0
  33. package/lib-es/logic/craftTransaction.test.js.map +1 -0
  34. package/lib-es/logic/estimateFees.integ.test.js +4 -4
  35. package/package.json +3 -3
  36. package/src/api/index.integ.test.ts +10 -17
  37. package/src/api/index.ts +22 -15
  38. package/src/bridge/prepareTransaction.integ.test.ts +3 -4
  39. package/src/logic/craftTransaction.integ.test.ts +102 -0
  40. package/src/logic/craftTransaction.test.ts +162 -0
  41. package/src/logic/estimateFees.integ.test.ts +4 -4
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-tezos@1.3.1 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-tezos
2
+ > @ledgerhq/coin-tezos@2.0.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,6 +1,6 @@
1
1
  # @ledgerhq/coin-tezos
2
2
 
3
- ## 2.0.0-nightly.0
3
+ ## 2.0.0
4
4
 
5
5
  ### Major Changes
6
6
 
@@ -8,15 +8,65 @@
8
8
 
9
9
  ### Minor Changes
10
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
+ - [#9562](https://github.com/LedgerHQ/ledger-live/pull/9562) [`daa06d9`](https://github.com/LedgerHQ/ledger-live/commit/daa06d92472f10ab72598715882c177386b38c2b) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - Update integration test
16
+
17
+ ### Patch Changes
18
+
19
+ - 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)]:
20
+ - @ledgerhq/coin-framework@2.4.0
21
+ - @ledgerhq/types-live@6.64.0
22
+
23
+ ## 2.0.0-next.0
24
+
25
+ ### Major Changes
26
+
27
+ - [#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
28
+
29
+ ### Minor Changes
30
+
31
+ - [#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
32
+
33
+ - [#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
34
+
35
+ - [#9562](https://github.com/LedgerHQ/ledger-live/pull/9562) [`daa06d9`](https://github.com/LedgerHQ/ledger-live/commit/daa06d92472f10ab72598715882c177386b38c2b) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - Update integration test
36
+
37
+ ### Patch Changes
38
+
39
+ - 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)]:
40
+ - @ledgerhq/coin-framework@2.4.0-next.0
41
+ - @ledgerhq/types-live@6.64.0-next.0
42
+
43
+ ## 1.4.0
44
+
45
+ ### Minor Changes
46
+
11
47
  - [#9472](https://github.com/LedgerHQ/ledger-live/pull/9472) [`9c4c82e`](https://github.com/LedgerHQ/ledger-live/commit/9c4c82e8e81aaadfc1132f0a25812be094e54453) Thanks [@KVNLS](https://github.com/KVNLS)! - Fix elliptic library version used
12
48
 
49
+ - [#9194](https://github.com/LedgerHQ/ledger-live/pull/9194) [`ce00b67`](https://github.com/LedgerHQ/ledger-live/commit/ce00b67011b7ff554af7e0ee82696dc4ea0b632f) Thanks [@jprudent](https://github.com/jprudent)! - Tesos tx fee is now the sum of storageFee + bakerFee + allocationFee
50
+
13
51
  ### Patch Changes
14
52
 
53
+ - Updated dependencies [[`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76)]:
54
+ - @ledgerhq/types-live@6.63.0
55
+ - @ledgerhq/coin-framework@2.3.0
56
+
57
+ ## 1.4.0-next.0
58
+
59
+ ### Minor Changes
60
+
61
+ - [#9472](https://github.com/LedgerHQ/ledger-live/pull/9472) [`9c4c82e`](https://github.com/LedgerHQ/ledger-live/commit/9c4c82e8e81aaadfc1132f0a25812be094e54453) Thanks [@KVNLS](https://github.com/KVNLS)! - Fix elliptic library version used
62
+
15
63
  - [#9194](https://github.com/LedgerHQ/ledger-live/pull/9194) [`ce00b67`](https://github.com/LedgerHQ/ledger-live/commit/ce00b67011b7ff554af7e0ee82696dc4ea0b632f) Thanks [@jprudent](https://github.com/jprudent)! - Tesos tx fee is now the sum of storageFee + bakerFee + allocationFee
16
64
 
17
- - 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)]:
18
- - @ledgerhq/types-live@6.63.0-nightly.0
19
- - @ledgerhq/coin-framework@2.3.0-nightly.0
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [[`5abde51`](https://github.com/LedgerHQ/ledger-live/commit/5abde5192d32f493ece2f99aec0e2de0c411f9e5), [`cc00249`](https://github.com/LedgerHQ/ledger-live/commit/cc002495f3e107aba283a3aa4abca90954de6d76)]:
68
+ - @ledgerhq/types-live@6.63.0-next.0
69
+ - @ledgerhq/coin-framework@2.3.0-next.0
20
70
 
21
71
  ## 1.3.1
22
72
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAczD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAYxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAczD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAYxD"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("@ledgerhq/coin-framework/api/index");
4
3
  const _1 = require(".");
5
4
  /**
6
5
  * https://teztnets.com/ghostnet-about
@@ -35,9 +34,14 @@ describe("Tezos Api", () => {
35
34
  // Given
36
35
  const amount = BigInt(100);
37
36
  // When
38
- const result = await module.estimateFees(address, amount);
37
+ const result = await module.estimateFees({
38
+ type: "send",
39
+ sender: address,
40
+ recipient: "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ",
41
+ amount,
42
+ });
39
43
  // Then
40
- expect(result).toEqual(BigInt(287));
44
+ expect(result).toBeGreaterThanOrEqual(BigInt(0));
41
45
  });
42
46
  });
43
47
  describe.only("listOperations", () => {
@@ -95,24 +99,15 @@ describe("Tezos Api", () => {
95
99
  },
96
100
  ])("returns a raw transaction with $type", async ({ type, rawTx }) => {
97
101
  // When
98
- const result = await module.craftTransaction(address, {
102
+ const result = await module.craftTransaction({
99
103
  type,
104
+ sender: address,
100
105
  recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
101
106
  amount: BigInt(10),
102
- fee: BigInt(1),
103
107
  });
104
108
  // Then
105
109
  expect(result.slice(64)).toEqual(rawTx);
106
110
  });
107
- it("throws an error if type in 'send' or 'delegate' or 'undelegate'", async () => {
108
- // When
109
- await expect(module.craftTransaction(address, {
110
- type: "WHATEVERTYPE",
111
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
112
- amount: BigInt(10),
113
- fee: BigInt(1),
114
- })).rejects.toThrow(index_1.IncorrectTypeError);
115
- });
116
111
  });
117
112
  });
118
113
  //# sourceMappingURL=index.integ.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
package/lib/api/index.js CHANGED
@@ -7,8 +7,8 @@ exports.createApi = createApi;
7
7
  const index_1 = require("@ledgerhq/coin-framework/api/index");
8
8
  const config_1 = __importDefault(require("../config"));
9
9
  const logic_1 = require("../logic");
10
- const tzkt_1 = __importDefault(require("../network/tzkt"));
11
10
  const logs_1 = require("@ledgerhq/logs");
11
+ const tzkt_1 = __importDefault(require("../network/tzkt"));
12
12
  function createApi(config) {
13
13
  config_1.default.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
14
14
  return {
@@ -24,25 +24,35 @@ function createApi(config) {
24
24
  function isTezosTransactionType(type) {
25
25
  return ["send", "delegate", "undelegate"].includes(type);
26
26
  }
27
- async function craft(address, { type, recipient, amount, fee }) {
28
- if (!isTezosTransactionType(type)) {
29
- throw new index_1.IncorrectTypeError(type);
27
+ async function craft(transactionIntent) {
28
+ if (!isTezosTransactionType(transactionIntent.type)) {
29
+ throw new index_1.IncorrectTypeError(transactionIntent.type);
30
30
  }
31
- const { contents } = await (0, logic_1.craftTransaction)({ address }, { recipient, amount, type, fee: { fees: fee.toString() } });
31
+ const fee = await estimate(transactionIntent);
32
+ const { contents } = await (0, logic_1.craftTransaction)({ address: transactionIntent.sender }, {
33
+ type: transactionIntent.type,
34
+ recipient: transactionIntent.recipient,
35
+ amount: transactionIntent.amount,
36
+ fee: { fees: fee.toString() },
37
+ });
32
38
  return (0, logic_1.rawEncode)(contents);
33
39
  }
34
- async function estimate(addr, amount) {
35
- const accountInfo = await tzkt_1.default.getAccountByAddress(addr);
40
+ async function estimate(transactionIntent) {
41
+ const accountInfo = await tzkt_1.default.getAccountByAddress(transactionIntent.recipient);
36
42
  if (accountInfo.type !== "user")
37
43
  throw new Error("unexpected account type");
38
44
  const estimatedFees = await (0, logic_1.estimateFees)({
39
45
  account: {
40
- address: addr,
46
+ address: transactionIntent.sender,
41
47
  revealed: accountInfo.revealed,
42
48
  balance: BigInt(accountInfo.balance),
43
49
  xpub: accountInfo.publicKey,
44
50
  },
45
- transaction: { mode: "send", recipient: addr, amount: amount },
51
+ transaction: {
52
+ mode: "send",
53
+ recipient: transactionIntent.recipient,
54
+ amount: transactionIntent.amount,
55
+ },
46
56
  });
47
57
  return estimatedFees.estimatedFees;
48
58
  }
@@ -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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"}
@@ -21,15 +21,14 @@ describe.only("prepareTransaction", () => {
21
21
  expect(newTx).toBe(tx);
22
22
  });
23
23
  it("returns error when amount is 0", async () => {
24
- // Given
25
24
  const tx = (0, bridge_fixture_1.createFixtureTransaction)({
26
25
  amount: (0, bignumber_js_1.default)(0),
27
26
  recipient: "tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb",
28
27
  });
29
- // When
30
28
  const newTx = await (0, prepareTransaction_1.default)((0, bridge_fixture_1.createFixtureAccount)({ balance: (0, bignumber_js_1.default)(10) }), tx);
31
- // Then
32
- expect(newTx.taquitoError).toEqual("proto.020-PsParisC.contract.empty_transaction");
29
+ // initial expectation was proto.020-PsParisC.contract.empty_transaction
30
+ // and evolved to proto.021-PsQuebec.contract.empty_transaction
31
+ expect(newTx.taquitoError?.includes(".contract.empty_transaction")).toBeTruthy();
33
32
  });
34
33
  });
35
34
  //# sourceMappingURL=prepareTransaction.integ.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.integ.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.integ.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,4DAAyF;AACzF,8EAAsD;AACtD,uDAAwD;AACxD,2CAA4C;AAE5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACvC,SAAS,CAAC,GAAG,EAAE;QACb,gBAAU,CAAC,aAAa,CAAC,GAAoB,EAAE,CAAC,mBAA6B,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,QAAQ;QACR,MAAM,EAAE,GAAG,IAAA,yCAAwB,EAAC,EAAE,MAAM,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE9D,OAAO;QACP,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAA,qCAAoB,GAAE,EAAE,EAAE,CAAC,CAAC;QAEnE,OAAO;QACP,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,QAAQ;QACR,MAAM,EAAE,GAAG,IAAA,yCAAwB,EAAC;YAClC,MAAM,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;YACpB,SAAS,EAAE,sCAAsC;SAClD,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAA,qCAAoB,EAAC,EAAE,OAAO,EAAE,IAAA,sBAAS,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7F,OAAO;QACP,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.integ.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.integ.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,4DAAyF;AACzF,8EAAsD;AACtD,uDAAwD;AACxD,2CAA4C;AAE5C,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACvC,SAAS,CAAC,GAAG,EAAE;QACb,gBAAU,CAAC,aAAa,CAAC,GAAoB,EAAE,CAAC,mBAA6B,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,QAAQ;QACR,MAAM,EAAE,GAAG,IAAA,yCAAwB,EAAC,EAAE,MAAM,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE9D,OAAO;QACP,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAA,qCAAoB,GAAE,EAAE,EAAE,CAAC,CAAC;QAEnE,OAAO;QACP,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,EAAE,GAAG,IAAA,yCAAwB,EAAC;YAClC,MAAM,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;YACpB,SAAS,EAAE,sCAAsC;SAClD,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAkB,EAAC,IAAA,qCAAoB,EAAC,EAAE,OAAO,EAAE,IAAA,sBAAS,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7F,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=craftTransaction.integ.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craftTransaction.integ.test.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.integ.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const rpc_1 = require("@taquito/rpc");
7
+ const _1 = require(".");
8
+ const config_1 = __importDefault(require("../config"));
9
+ const config_2 = require("../test/config");
10
+ /**
11
+ * https://teztnets.com/ghostnet-about
12
+ * https://api.tzkt.io/#section/Get-Started/Free-TzKT-API
13
+ */
14
+ describe("Tezos Api", () => {
15
+ const address = "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ";
16
+ beforeAll(() => {
17
+ config_1.default.setCoinConfig(() => config_2.mockConfig);
18
+ });
19
+ it("should craft a send transaction", async () => {
20
+ // When
21
+ const result = await (0, _1.craftTransaction)({ address }, {
22
+ type: "send",
23
+ recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9", // spell-checker: disable-line
24
+ amount: BigInt(10),
25
+ fee: { fees: BigInt(1).toString() },
26
+ });
27
+ // Then
28
+ expect(result.type).toBe("OUT");
29
+ expect(result.contents).toEqual(expect.objectContaining([
30
+ {
31
+ kind: rpc_1.OpKind.TRANSACTION,
32
+ amount: "10",
33
+ destination: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
34
+ source: address,
35
+ counter: expect.any(String),
36
+ fee: "1",
37
+ gas_limit: "0",
38
+ storage_limit: "0",
39
+ },
40
+ ]));
41
+ });
42
+ it("should craft a delegate transaction", async () => {
43
+ // When
44
+ const result = await (0, _1.craftTransaction)({ address }, {
45
+ type: "delegate",
46
+ recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9", // spell-checker: disable-line
47
+ amount: BigInt(10),
48
+ fee: { fees: BigInt(1).toString(), gasLimit: "200", storageLimit: "300" },
49
+ });
50
+ // Then
51
+ expect(result.type).toBe("DELEGATE");
52
+ expect(result.contents).toEqual(expect.objectContaining([
53
+ {
54
+ kind: rpc_1.OpKind.DELEGATION,
55
+ source: address,
56
+ counter: expect.any(String),
57
+ delegate: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
58
+ fee: "1",
59
+ gas_limit: "200",
60
+ storage_limit: "300",
61
+ },
62
+ ]));
63
+ });
64
+ it("should craft a undelegate transaction", async () => {
65
+ // When
66
+ const result = await (0, _1.craftTransaction)({ address }, {
67
+ type: "undelegate",
68
+ recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9", // spell-checker: disable-line
69
+ amount: BigInt(10),
70
+ fee: { fees: BigInt(1).toString(), gasLimit: "200", storageLimit: "300" },
71
+ });
72
+ // Then
73
+ expect(result.type).toBe("UNDELEGATE");
74
+ expect(result.contents).toEqual(expect.objectContaining([
75
+ {
76
+ kind: rpc_1.OpKind.DELEGATION,
77
+ source: address,
78
+ counter: expect.any(String),
79
+ fee: "1",
80
+ gas_limit: "200",
81
+ storage_limit: "300",
82
+ },
83
+ ]));
84
+ });
85
+ });
86
+ //# sourceMappingURL=craftTransaction.integ.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craftTransaction.integ.test.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.integ.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=craftTransaction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craftTransaction.test.d.ts","sourceRoot":"","sources":["../../src/logic/craftTransaction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const craftTransaction_1 = require("./craftTransaction");
7
+ const tezosToolkit_1 = require("./tezosToolkit");
8
+ const config_1 = __importDefault(require("../config"));
9
+ const rpc_1 = require("@taquito/rpc");
10
+ const taquito_1 = require("@taquito/taquito");
11
+ jest.mock("./tezosToolkit");
12
+ jest.mock("../config", () => ({
13
+ getCoinConfig: jest.fn(),
14
+ }));
15
+ describe("craftTransaction", () => {
16
+ const mockTezosToolkit = {
17
+ rpc: {
18
+ getContract: jest.fn(),
19
+ getBlock: jest.fn(),
20
+ forgeOperations: jest.fn(),
21
+ },
22
+ estimate: {
23
+ reveal: jest.fn(),
24
+ },
25
+ };
26
+ beforeEach(() => {
27
+ jest.clearAllMocks();
28
+ tezosToolkit_1.getTezosToolkit.mockReturnValue(mockTezosToolkit);
29
+ });
30
+ it("should craft a send transaction", async () => {
31
+ mockTezosToolkit.rpc.getContract.mockResolvedValue({ counter: "1" });
32
+ const account = { address: "tz1..." };
33
+ const transaction = {
34
+ type: "send",
35
+ recipient: "tz2...",
36
+ amount: BigInt(1000),
37
+ fee: { fees: "100", gasLimit: "200", storageLimit: "300" },
38
+ };
39
+ const result = await (0, craftTransaction_1.craftTransaction)(account, transaction);
40
+ expect(result.type).toBe("OUT");
41
+ expect(result.contents).toEqual([
42
+ {
43
+ kind: rpc_1.OpKind.TRANSACTION,
44
+ amount: "1000",
45
+ destination: transaction.recipient,
46
+ source: account.address,
47
+ counter: "2",
48
+ fee: "100",
49
+ gas_limit: "200",
50
+ storage_limit: "300",
51
+ },
52
+ ]);
53
+ });
54
+ it("should craft a delegate transaction", async () => {
55
+ mockTezosToolkit.rpc.getContract.mockResolvedValue({ counter: "1" });
56
+ const account = { address: "tz1..." };
57
+ const transaction = {
58
+ type: "delegate",
59
+ recipient: "tz2...",
60
+ amount: BigInt(0),
61
+ fee: { fees: "100", gasLimit: "200", storageLimit: "300" },
62
+ };
63
+ const result = await (0, craftTransaction_1.craftTransaction)(account, transaction);
64
+ expect(result.type).toBe("DELEGATE");
65
+ expect(result.contents).toEqual([
66
+ {
67
+ kind: rpc_1.OpKind.DELEGATION,
68
+ source: account.address,
69
+ counter: "2",
70
+ delegate: transaction.recipient,
71
+ fee: "100",
72
+ gas_limit: "200",
73
+ storage_limit: "300",
74
+ },
75
+ ]);
76
+ });
77
+ it("should craft an undelegate transaction", async () => {
78
+ mockTezosToolkit.rpc.getContract.mockResolvedValue({ counter: "1" });
79
+ const account = { address: "tz1..." };
80
+ const transaction = {
81
+ type: "undelegate",
82
+ recipient: "",
83
+ amount: BigInt(0),
84
+ fee: { fees: "100", gasLimit: "200", storageLimit: "300" },
85
+ };
86
+ const result = await (0, craftTransaction_1.craftTransaction)(account, transaction);
87
+ expect(result.type).toBe("UNDELEGATE");
88
+ expect(result.contents).toEqual([
89
+ {
90
+ kind: rpc_1.OpKind.DELEGATION,
91
+ source: account.address,
92
+ counter: "2",
93
+ fee: "100",
94
+ gas_limit: "200",
95
+ storage_limit: "300",
96
+ },
97
+ ]);
98
+ });
99
+ it("should craft a transaction with reveal operation", async () => {
100
+ mockTezosToolkit.rpc.getContract.mockResolvedValue({ counter: "1" });
101
+ mockTezosToolkit.estimate.reveal.mockResolvedValue({ gasLimit: 100, storageLimit: 0 });
102
+ config_1.default.getCoinConfig.mockReturnValue({ fees: { minRevealGasLimit: 100 } });
103
+ const account = { address: "tz1..." };
104
+ const transaction = {
105
+ type: "send",
106
+ recipient: "tz2...",
107
+ amount: BigInt(1000),
108
+ fee: { fees: "100", gasLimit: "200", storageLimit: "300" },
109
+ };
110
+ const publicKey = { publicKey: "publicKey", publicKeyHash: "publicKeyHash" };
111
+ const result = await (0, craftTransaction_1.craftTransaction)(account, transaction, publicKey);
112
+ expect(result.contents).toEqual([
113
+ {
114
+ kind: rpc_1.OpKind.REVEAL,
115
+ fee: taquito_1.DEFAULT_FEE.REVEAL.toString(),
116
+ gas_limit: "100",
117
+ storage_limit: "0",
118
+ source: publicKey.publicKeyHash,
119
+ counter: "2",
120
+ public_key: publicKey.publicKey,
121
+ },
122
+ {
123
+ kind: rpc_1.OpKind.TRANSACTION,
124
+ amount: "1000",
125
+ destination: transaction.recipient,
126
+ source: account.address,
127
+ counter: "3",
128
+ fee: "100",
129
+ gas_limit: "200",
130
+ storage_limit: "300",
131
+ },
132
+ ]);
133
+ });
134
+ it("should throw an error for unsupported transaction type", async () => {
135
+ const account = { address: "tz1..." };
136
+ const transaction = {
137
+ type: "invalid",
138
+ recipient: "tz2...",
139
+ amount: BigInt(1000),
140
+ fee: { fees: "100", gasLimit: "200", storageLimit: "300" },
141
+ };
142
+ await expect((0, craftTransaction_1.craftTransaction)(account, transaction)).rejects.toThrow("unsupported mode");
143
+ });
144
+ });
145
+ //# sourceMappingURL=craftTransaction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craftTransaction.test.js","sourceRoot":"","sources":["../../src/logic/craftTransaction.test.ts"],"names":[],"mappings":";;;;;AAAA,yDAAsD;AACtD,iDAAiD;AACjD,uDAAmC;AACnC,sCAAsC;AACtC,8CAA+C;AAI/C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;CACzB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,gBAAgB,GAAG;QACvB,GAAG,EAAE;YACH,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;YACnB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;SAC3B;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SAClB;KACF,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,8BAA6B,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,MAAyB;YAC/B,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SAC3D,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC9B;gBACE,IAAI,EAAE,YAAM,CAAC,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,WAAW,CAAC,SAAS;gBAClC,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;aACrB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,UAA6B;YACnC,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SAC3D,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC9B;gBACE,IAAI,EAAE,YAAM,CAAC,UAAU;gBACvB,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,WAAW,CAAC,SAAS;gBAC/B,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;aACrB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,YAA+B;YACrC,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACjB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SAC3D,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC9B;gBACE,IAAI,EAAE,YAAM,CAAC,UAAU;gBACvB,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;aACrB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACrE,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,gBAAU,CAAC,aAA2B,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,MAAyB;YAC/B,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SAC3D,CAAC;QACF,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAE7E,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAEvE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC9B;gBACE,IAAI,EAAE,YAAM,CAAC,MAAM;gBACnB,GAAG,EAAE,qBAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAClC,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,GAAG;gBAClB,MAAM,EAAE,SAAS,CAAC,aAAa;gBAC/B,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,SAAS,CAAC,SAAS;aAChC;YACD;gBACE,IAAI,EAAE,YAAM,CAAC,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,WAAW,CAAC,SAAS;gBAClC,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;aACrB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,SAAgB;YACtB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;SAC3D,CAAC;QAEF,MAAM,MAAM,CAAC,IAAA,mCAAgB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -54,11 +54,11 @@ describe("estimateFees", () => {
54
54
  const result = await (0, estimateFees_1.estimateFees)({ account, transaction });
55
55
  // Then
56
56
  expect(result).toEqual({
57
- estimatedFees: BigInt("867"),
58
- fees: BigInt("493"),
59
- gasLimit: BigInt("669"),
57
+ estimatedFees: BigInt("664"),
58
+ fees: BigInt("290"),
59
+ gasLimit: BigInt("169"),
60
60
  storageLimit: BigInt("277"),
61
- amount: BigInt("1929883"),
61
+ amount: BigInt("1934789"),
62
62
  });
63
63
  });
64
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EAET,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAczD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAYxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,GAAG,EACT,MAAM,oCAAoC,CAAC;AAC5C,OAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAczD,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAYxD"}
@@ -1,4 +1,3 @@
1
- import { IncorrectTypeError } from "@ledgerhq/coin-framework/api/index";
2
1
  import { createApi } from ".";
3
2
  /**
4
3
  * https://teztnets.com/ghostnet-about
@@ -33,9 +32,14 @@ describe("Tezos Api", () => {
33
32
  // Given
34
33
  const amount = BigInt(100);
35
34
  // When
36
- const result = await module.estimateFees(address, amount);
35
+ const result = await module.estimateFees({
36
+ type: "send",
37
+ sender: address,
38
+ recipient: "tz1heMGVHQnx7ALDcDKqez8fan64Eyicw4DJ",
39
+ amount,
40
+ });
37
41
  // Then
38
- expect(result).toEqual(BigInt(287));
42
+ expect(result).toBeGreaterThanOrEqual(BigInt(0));
39
43
  });
40
44
  });
41
45
  describe.only("listOperations", () => {
@@ -93,24 +97,15 @@ describe("Tezos Api", () => {
93
97
  },
94
98
  ])("returns a raw transaction with $type", async ({ type, rawTx }) => {
95
99
  // When
96
- const result = await module.craftTransaction(address, {
100
+ const result = await module.craftTransaction({
97
101
  type,
102
+ sender: address,
98
103
  recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
99
104
  amount: BigInt(10),
100
- fee: BigInt(1),
101
105
  });
102
106
  // Then
103
107
  expect(result.slice(64)).toEqual(rawTx);
104
108
  });
105
- it("throws an error if type in 'send' or 'delegate' or 'undelegate'", async () => {
106
- // When
107
- await expect(module.craftTransaction(address, {
108
- type: "WHATEVERTYPE",
109
- recipient: "tz1aWXP237BLwNHJcCD4b3DutCevhqq2T1Z9",
110
- amount: BigInt(10),
111
- fee: BigInt(1),
112
- })).rejects.toThrow(IncorrectTypeError);
113
- });
114
109
  });
115
110
  });
116
111
  //# sourceMappingURL=index.integ.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.integ.test.js","sourceRoot":"","sources":["../../src/api/index.integ.test.ts"],"names":[],"mappings":"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"}