@ledgerhq/coin-ton 0.15.0-nightly.6 → 0.15.0-nightly.7

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 (131) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/package.json +6 -6
  4. package/lib/__tests__/fixtures/api.fixtures.d.ts +0 -4
  5. package/lib/__tests__/fixtures/api.fixtures.d.ts.map +0 -1
  6. package/lib/__tests__/fixtures/api.fixtures.js +0 -37
  7. package/lib/__tests__/fixtures/api.fixtures.js.map +0 -1
  8. package/lib/__tests__/fixtures/common.fixtures.d.ts +0 -32
  9. package/lib/__tests__/fixtures/common.fixtures.d.ts.map +0 -1
  10. package/lib/__tests__/fixtures/common.fixtures.js +0 -176
  11. package/lib/__tests__/fixtures/common.fixtures.js.map +0 -1
  12. package/lib/__tests__/integration/bridge.integration.test.d.ts +0 -14
  13. package/lib/__tests__/integration/bridge.integration.test.d.ts.map +0 -1
  14. package/lib/__tests__/integration/bridge.integration.test.js +0 -213
  15. package/lib/__tests__/integration/bridge.integration.test.js.map +0 -1
  16. package/lib/__tests__/unit/api.unit.test.d.ts +0 -2
  17. package/lib/__tests__/unit/api.unit.test.d.ts.map +0 -1
  18. package/lib/__tests__/unit/api.unit.test.js +0 -77
  19. package/lib/__tests__/unit/api.unit.test.js.map +0 -1
  20. package/lib/__tests__/unit/broadcast.unit.test.d.ts +0 -2
  21. package/lib/__tests__/unit/broadcast.unit.test.d.ts.map +0 -1
  22. package/lib/__tests__/unit/broadcast.unit.test.js +0 -37
  23. package/lib/__tests__/unit/broadcast.unit.test.js.map +0 -1
  24. package/lib/__tests__/unit/createTransaction.unit.test.d.ts +0 -2
  25. package/lib/__tests__/unit/createTransaction.unit.test.d.ts.map +0 -1
  26. package/lib/__tests__/unit/createTransaction.unit.test.js +0 -25
  27. package/lib/__tests__/unit/createTransaction.unit.test.js.map +0 -1
  28. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts +0 -2
  29. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  30. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js +0 -111
  31. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js.map +0 -1
  32. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts +0 -2
  33. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  34. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js +0 -30
  35. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js.map +0 -1
  36. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  37. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  38. package/lib/__tests__/unit/getTransactionStatus.unit.test.js +0 -120
  39. package/lib/__tests__/unit/getTransactionStatus.unit.test.js.map +0 -1
  40. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts +0 -2
  41. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts.map +0 -1
  42. package/lib/__tests__/unit/hw-getAddress.unit.test.js +0 -54
  43. package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +0 -1
  44. package/lib/__tests__/unit/logic.unit.test.d.ts +0 -2
  45. package/lib/__tests__/unit/logic.unit.test.d.ts.map +0 -1
  46. package/lib/__tests__/unit/logic.unit.test.js +0 -18
  47. package/lib/__tests__/unit/logic.unit.test.js.map +0 -1
  48. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts +0 -2
  49. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts.map +0 -1
  50. package/lib/__tests__/unit/prepareTransaction.unit.test.js +0 -109
  51. package/lib/__tests__/unit/prepareTransaction.unit.test.js.map +0 -1
  52. package/lib/__tests__/unit/signOperation.unit.test.d.ts +0 -2
  53. package/lib/__tests__/unit/signOperation.unit.test.d.ts.map +0 -1
  54. package/lib/__tests__/unit/signOperation.unit.test.js +0 -72
  55. package/lib/__tests__/unit/signOperation.unit.test.js.map +0 -1
  56. package/lib/__tests__/unit/txn.unit.test.d.ts +0 -2
  57. package/lib/__tests__/unit/txn.unit.test.d.ts.map +0 -1
  58. package/lib/__tests__/unit/txn.unit.test.js +0 -298
  59. package/lib/__tests__/unit/txn.unit.test.js.map +0 -1
  60. package/lib/__tests__/unit/utils.unit.test.d.ts +0 -2
  61. package/lib/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  62. package/lib/__tests__/unit/utils.unit.test.js +0 -211
  63. package/lib/__tests__/unit/utils.unit.test.js.map +0 -1
  64. package/lib/transaction.unit.test.d.ts +0 -2
  65. package/lib/transaction.unit.test.d.ts.map +0 -1
  66. package/lib/transaction.unit.test.js +0 -663
  67. package/lib/transaction.unit.test.js.map +0 -1
  68. package/lib-es/__tests__/fixtures/api.fixtures.d.ts +0 -4
  69. package/lib-es/__tests__/fixtures/api.fixtures.d.ts.map +0 -1
  70. package/lib-es/__tests__/fixtures/api.fixtures.js +0 -34
  71. package/lib-es/__tests__/fixtures/api.fixtures.js.map +0 -1
  72. package/lib-es/__tests__/fixtures/common.fixtures.d.ts +0 -32
  73. package/lib-es/__tests__/fixtures/common.fixtures.d.ts.map +0 -1
  74. package/lib-es/__tests__/fixtures/common.fixtures.js +0 -170
  75. package/lib-es/__tests__/fixtures/common.fixtures.js.map +0 -1
  76. package/lib-es/__tests__/integration/bridge.integration.test.d.ts +0 -14
  77. package/lib-es/__tests__/integration/bridge.integration.test.d.ts.map +0 -1
  78. package/lib-es/__tests__/integration/bridge.integration.test.js +0 -207
  79. package/lib-es/__tests__/integration/bridge.integration.test.js.map +0 -1
  80. package/lib-es/__tests__/unit/api.unit.test.d.ts +0 -2
  81. package/lib-es/__tests__/unit/api.unit.test.d.ts.map +0 -1
  82. package/lib-es/__tests__/unit/api.unit.test.js +0 -52
  83. package/lib-es/__tests__/unit/api.unit.test.js.map +0 -1
  84. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts +0 -2
  85. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts.map +0 -1
  86. package/lib-es/__tests__/unit/broadcast.unit.test.js +0 -32
  87. package/lib-es/__tests__/unit/broadcast.unit.test.js.map +0 -1
  88. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts +0 -2
  89. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts.map +0 -1
  90. package/lib-es/__tests__/unit/createTransaction.unit.test.js +0 -20
  91. package/lib-es/__tests__/unit/createTransaction.unit.test.js.map +0 -1
  92. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts +0 -2
  93. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  94. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js +0 -106
  95. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js.map +0 -1
  96. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts +0 -2
  97. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  98. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js +0 -25
  99. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js.map +0 -1
  100. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  101. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  102. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js +0 -115
  103. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js.map +0 -1
  104. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts +0 -2
  105. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts.map +0 -1
  106. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js +0 -49
  107. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +0 -1
  108. package/lib-es/__tests__/unit/logic.unit.test.d.ts +0 -2
  109. package/lib-es/__tests__/unit/logic.unit.test.d.ts.map +0 -1
  110. package/lib-es/__tests__/unit/logic.unit.test.js +0 -16
  111. package/lib-es/__tests__/unit/logic.unit.test.js.map +0 -1
  112. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts +0 -2
  113. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts.map +0 -1
  114. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js +0 -81
  115. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js.map +0 -1
  116. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts +0 -2
  117. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts.map +0 -1
  118. package/lib-es/__tests__/unit/signOperation.unit.test.js +0 -67
  119. package/lib-es/__tests__/unit/signOperation.unit.test.js.map +0 -1
  120. package/lib-es/__tests__/unit/txn.unit.test.d.ts +0 -2
  121. package/lib-es/__tests__/unit/txn.unit.test.d.ts.map +0 -1
  122. package/lib-es/__tests__/unit/txn.unit.test.js +0 -293
  123. package/lib-es/__tests__/unit/txn.unit.test.js.map +0 -1
  124. package/lib-es/__tests__/unit/utils.unit.test.d.ts +0 -2
  125. package/lib-es/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  126. package/lib-es/__tests__/unit/utils.unit.test.js +0 -186
  127. package/lib-es/__tests__/unit/utils.unit.test.js.map +0 -1
  128. package/lib-es/transaction.unit.test.d.ts +0 -2
  129. package/lib-es/transaction.unit.test.d.ts.map +0 -1
  130. package/lib-es/transaction.unit.test.js +0 -658
  131. package/lib-es/transaction.unit.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/prepareTransaction.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signOperation.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/signOperation.unit.test.ts"],"names":[],"mappings":""}
@@ -1,72 +0,0 @@
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 core_1 = require("@ton/core");
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const api_1 = require("../../bridge/bridgeHelpers/api");
9
- const signOperation_1 = require("../../signOperation");
10
- const common_fixtures_1 = require("../fixtures/common.fixtures");
11
- jest.mock("../../bridge/bridgeHelpers/api");
12
- const spySignTransaction = jest.fn().mockImplementation(async () => Promise.resolve((0, core_1.beginCell)()
13
- .store((0, core_1.storeMessage)({
14
- info: {
15
- type: "external-in",
16
- dest: core_1.Address.parse("EQDzd8aeBOU-jqYw_ZSuZjceI5p-F4b7HMprAsUJAtRPbJfg"),
17
- importFee: BigInt(0),
18
- },
19
- body: new core_1.Cell(),
20
- }))
21
- .endCell()));
22
- const mockSignerContext = (_, fn) => {
23
- return fn({
24
- signTransaction: spySignTransaction,
25
- getAddress: jest.fn(),
26
- validateAddress: jest.fn(),
27
- });
28
- };
29
- describe("signOperation", () => {
30
- beforeAll(() => {
31
- const fetchAccountInfoMock = jest.mocked(api_1.fetchAccountInfo);
32
- fetchAccountInfoMock.mockReturnValue(Promise.resolve(common_fixtures_1.accountInfo));
33
- });
34
- it("should return an optimistic operation and a signed hash returned by the app bindings", done => {
35
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
36
- const signOpObservable = signOperation({
37
- account: common_fixtures_1.account,
38
- transaction: { ...common_fixtures_1.transaction, fees: common_fixtures_1.totalFees },
39
- deviceId: "",
40
- });
41
- signOpObservable.subscribe(obs => {
42
- if (obs.type === "signed") {
43
- const { signedOperation: { signature, operation }, } = obs;
44
- const { amount } = common_fixtures_1.transaction;
45
- expect(operation).toEqual({
46
- id: "",
47
- hash: "",
48
- type: "OUT",
49
- value: new bignumber_js_1.default(amount).plus(common_fixtures_1.totalFees),
50
- fee: common_fixtures_1.totalFees,
51
- blockHash: null,
52
- blockHeight: null,
53
- senders: [common_fixtures_1.account.freshAddress],
54
- recipients: [common_fixtures_1.transaction.recipient],
55
- accountId: common_fixtures_1.account.id,
56
- date: expect.any(Date),
57
- extra: {
58
- comment: {
59
- isEncrypted: false,
60
- text: "",
61
- },
62
- explorerHash: "",
63
- lt: "",
64
- },
65
- });
66
- expect(signature).toBe("te6cckEBAQEASAAAi4gB5u+NPAnKfR1MYfspXMxuPEc0/C8N9jmU1gWKEgWontgEQA83fGngTlPo6mMP2UrmY3HiOafheG+xzKawLFCQLUT2wCDSMh+F");
67
- done();
68
- }
69
- });
70
- });
71
- });
72
- //# sourceMappingURL=signOperation.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/signOperation.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=txn.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"txn.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/txn.unit.test.ts"],"names":[],"mappings":""}
@@ -1,298 +0,0 @@
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 operation_1 = require("@ledgerhq/coin-framework/lib/operation");
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- // eslint-disable-next-line no-restricted-imports
9
- const core_1 = require("@ton/core");
10
- const flatMap_1 = __importDefault(require("lodash/flatMap"));
11
- const txn_1 = require("../../bridge/bridgeHelpers/txn");
12
- const common_fixtures_1 = require("../fixtures/common.fixtures");
13
- describe("Transaction functions", () => {
14
- describe("mapTxToOps", () => {
15
- it("should map an IN failed ton transaction without total_fees to a ledger operation", async () => {
16
- const { now, lt, hash, in_msg, total_fees, mc_block_seqno } = common_fixtures_1.tonTransactionResponse.transactions[0];
17
- const finalOperation = (0, flatMap_1.default)(common_fixtures_1.tonTransactionResponse.transactions, (0, txn_1.mapTxToOps)(common_fixtures_1.mockAccountId, common_fixtures_1.mockAddress, common_fixtures_1.tonTransactionResponse.address_book));
18
- expect(finalOperation).toEqual([
19
- {
20
- accountId: common_fixtures_1.mockAccountId,
21
- blockHash: null,
22
- blockHeight: mc_block_seqno,
23
- date: new Date(now * 1000), // now is defined in seconds
24
- extra: { comment: { isEncrypted: false, text: "" }, explorerHash: hash, lt },
25
- fee: (0, bignumber_js_1.default)(total_fees),
26
- hasFailed: true,
27
- hash: in_msg?.hash,
28
- id: (0, operation_1.encodeOperationId)(common_fixtures_1.mockAccountId, in_msg?.hash ?? "", "IN"),
29
- recipients: [in_msg?.destination],
30
- senders: ["EQCVnqqL0OOiZi2BQnjVGm-ZeUYgfUhHgAi-vn9F8-94HwrH"],
31
- type: "IN",
32
- value: (0, bignumber_js_1.default)(in_msg?.value ?? 0),
33
- subOperations: undefined,
34
- },
35
- ]);
36
- });
37
- it("should map an IN ton transaction with total_fees to a ledger operation", async () => {
38
- const transactions = [{ ...common_fixtures_1.tonTransactionResponse.transactions[0], total_fees: "15" }];
39
- const { now, lt, hash, in_msg, total_fees, mc_block_seqno } = transactions[0];
40
- const finalOperation = (0, flatMap_1.default)(transactions, (0, txn_1.mapTxToOps)(common_fixtures_1.mockAccountId, common_fixtures_1.mockAddress, common_fixtures_1.tonTransactionResponse.address_book));
41
- expect(finalOperation).toEqual([
42
- {
43
- accountId: common_fixtures_1.mockAccountId,
44
- blockHash: null,
45
- blockHeight: mc_block_seqno,
46
- date: new Date(now * 1000), // now is defined in seconds
47
- extra: { comment: { isEncrypted: false, text: "" }, explorerHash: hash, lt },
48
- fee: (0, bignumber_js_1.default)(total_fees),
49
- hasFailed: true,
50
- hash: in_msg?.hash,
51
- id: (0, operation_1.encodeOperationId)(common_fixtures_1.mockAccountId, in_msg?.hash ?? "", "IN"),
52
- recipients: [in_msg?.destination],
53
- senders: ["EQCVnqqL0OOiZi2BQnjVGm-ZeUYgfUhHgAi-vn9F8-94HwrH"],
54
- type: "IN",
55
- value: (0, bignumber_js_1.default)(in_msg?.value ?? 0),
56
- subOperations: [
57
- {
58
- id: (0, operation_1.encodeOperationId)(common_fixtures_1.mockAccountId, in_msg?.hash ?? "", "NONE"),
59
- hash: in_msg?.hash,
60
- type: "NONE",
61
- value: (0, bignumber_js_1.default)(total_fees),
62
- fee: (0, bignumber_js_1.default)(0),
63
- blockHeight: mc_block_seqno,
64
- blockHash: null,
65
- hasFailed: true,
66
- accountId: common_fixtures_1.mockAccountId,
67
- senders: [common_fixtures_1.mockAddress],
68
- recipients: [],
69
- date: new Date(now * 1000),
70
- extra: { comment: { isEncrypted: false, text: "" }, explorerHash: hash, lt },
71
- },
72
- ],
73
- },
74
- ]);
75
- });
76
- it("should map a failed OUT ton transaction to a ledger operation", async () => {
77
- // The IN transaction will be used as OUT transaction and it will be adjusted
78
- const transactions = [
79
- {
80
- ...common_fixtures_1.tonTransactionResponse.transactions[0],
81
- in_msg: null,
82
- },
83
- ];
84
- if (common_fixtures_1.tonTransactionResponse.transactions[0].in_msg) {
85
- transactions[0].out_msgs = [
86
- { ...common_fixtures_1.tonTransactionResponse.transactions[0].in_msg, source: transactions[0].account },
87
- ];
88
- }
89
- const { now, lt, hash, out_msgs, total_fees, mc_block_seqno } = transactions[0];
90
- const finalOperation = (0, flatMap_1.default)(transactions, (0, txn_1.mapTxToOps)(common_fixtures_1.mockAccountId, common_fixtures_1.mockAddress, common_fixtures_1.tonTransactionResponse.address_book));
91
- expect(finalOperation).toEqual([
92
- {
93
- id: (0, operation_1.encodeOperationId)(common_fixtures_1.mockAccountId, hash, "OUT"),
94
- hash: out_msgs?.[0].hash,
95
- type: "OUT",
96
- value: (0, bignumber_js_1.default)(out_msgs?.[0].value ?? 0),
97
- fee: (0, bignumber_js_1.default)(total_fees),
98
- blockHeight: mc_block_seqno,
99
- blockHash: null,
100
- hasFailed: true,
101
- accountId: common_fixtures_1.mockAccountId,
102
- senders: [transactions[0].account],
103
- recipients: ["EQDzd8aeBOU-jqYw_ZSuZjceI5p-F4b7HMprAsUJAtRPbJfg"],
104
- date: new Date(now * 1000), // now is defined in seconds
105
- extra: { comment: { isEncrypted: false, text: "" }, explorerHash: hash, lt },
106
- },
107
- ]);
108
- });
109
- });
110
- describe("mapJettonToOps", () => {
111
- it("should map an IN ton transaction without total_fees to a ledger operation", async () => {
112
- const { transaction_hash, amount, transaction_now, transaction_lt } = common_fixtures_1.jettonTransferResponse.jetton_transfers[0];
113
- const finalOperation = (0, flatMap_1.default)(common_fixtures_1.jettonTransferResponse.jetton_transfers, (0, txn_1.mapJettonTxToOps)(common_fixtures_1.mockAccountId, common_fixtures_1.mockAddress, common_fixtures_1.tonTransactionResponse.address_book));
114
- const tokenByCurrencyAddress = `${common_fixtures_1.mockAccountId}+ton%2Fjetton%2Feqavlwfdxgf2lxm67y4yzc17wykd9a0guwpkms1gosm~!underscore!~~!underscore!~not`;
115
- expect(finalOperation).toEqual([
116
- {
117
- id: (0, operation_1.encodeOperationId)(tokenByCurrencyAddress, transaction_hash, "IN"),
118
- hash: transaction_hash,
119
- type: "IN",
120
- value: (0, bignumber_js_1.default)(amount),
121
- fee: (0, bignumber_js_1.default)(0),
122
- blockHeight: 1,
123
- blockHash: null,
124
- hasFailed: false,
125
- accountId: tokenByCurrencyAddress,
126
- senders: ["EQDnqcVSV4S9m2Y9gLAQrDerQktKSx2I1uhs6r5o_H8VT9G-"],
127
- recipients: [common_fixtures_1.mockAddress],
128
- date: new Date(transaction_now * 1000), // now is defined in seconds
129
- extra: {
130
- comment: { isEncrypted: false, text: "" },
131
- explorerHash: transaction_hash,
132
- lt: transaction_lt,
133
- },
134
- },
135
- ]);
136
- });
137
- it("should map an OUT jetton transaction to a ledger operation", async () => {
138
- // The IN jetton transaction will be used as OUT transaction and it will be adjusted
139
- const jettonTransfers = [
140
- {
141
- ...common_fixtures_1.jettonTransferResponse.jetton_transfers[0],
142
- },
143
- ];
144
- jettonTransfers[0].source = jettonTransfers[0].destination;
145
- jettonTransfers[0].destination = common_fixtures_1.jettonTransferResponse.jetton_transfers[0].source;
146
- const { transaction_hash, amount, transaction_now, transaction_lt } = jettonTransfers[0];
147
- const finalOperation = (0, flatMap_1.default)(jettonTransfers, (0, txn_1.mapJettonTxToOps)(common_fixtures_1.mockAccountId, common_fixtures_1.mockAddress, common_fixtures_1.tonTransactionResponse.address_book));
148
- const tokenByCurrencyAddress = `${common_fixtures_1.mockAccountId}+ton%2Fjetton%2Feqavlwfdxgf2lxm67y4yzc17wykd9a0guwpkms1gosm~!underscore!~~!underscore!~not`;
149
- expect(finalOperation).toEqual([
150
- {
151
- id: (0, operation_1.encodeOperationId)(tokenByCurrencyAddress, transaction_hash, "OUT"),
152
- hash: transaction_hash,
153
- type: "OUT",
154
- value: (0, bignumber_js_1.default)(amount),
155
- fee: (0, bignumber_js_1.default)(0),
156
- blockHeight: 1,
157
- blockHash: null,
158
- hasFailed: false,
159
- accountId: tokenByCurrencyAddress,
160
- recipients: ["EQDnqcVSV4S9m2Y9gLAQrDerQktKSx2I1uhs6r5o_H8VT9G-"],
161
- senders: [common_fixtures_1.mockAddress],
162
- date: new Date(transaction_now * 1000), // now is defined in seconds
163
- extra: {
164
- comment: { isEncrypted: false, text: "" },
165
- explorerHash: transaction_hash,
166
- lt: transaction_lt,
167
- },
168
- },
169
- ]);
170
- });
171
- });
172
- });
173
- describe("TON Payload Processing Functions", () => {
174
- describe("dataToSlice", () => {
175
- it("should convert base64 string to Slice when it's a valid BOC", () => {
176
- // Create a Cell from a string and convert to BOC
177
- const cell = new core_1.Builder().storeUint(123, 32).endCell();
178
- const bocBase64 = cell.toBoc().toString("base64");
179
- const result = (0, txn_1.dataToSlice)(bocBase64);
180
- expect(result).toBeInstanceOf(core_1.Slice);
181
- expect(result?.loadUint(32)).toBe(123);
182
- });
183
- it("should fallback to BitString when the data is not a valid BOC", () => {
184
- const invalidBocBase64 = "aW52YWxpZCB0b24gZGF0YQ=="; // "invalid ton data"
185
- const result = (0, txn_1.dataToSlice)(invalidBocBase64);
186
- expect(result).toBeInstanceOf(core_1.Slice);
187
- });
188
- it("should return undefined for non-string input", () => {
189
- // @ts-expect-error - Testing invalid input
190
- const result = (0, txn_1.dataToSlice)(null);
191
- expect(result).toBeUndefined();
192
- });
193
- });
194
- describe("loadSnakeBytes", () => {
195
- it("should load bytes from a simple slice without refs", () => {
196
- const cell = new core_1.Builder().storeBuffer(Buffer.from("Slice", "utf-8")).endCell();
197
- const slice = cell.beginParse();
198
- const result = (0, txn_1.loadSnakeBytes)(slice);
199
- expect(result.toString("utf-8")).toBe("Slice");
200
- });
201
- it("should load bytes from a slice with refs (snake structure)", () => {
202
- // Create a chain of cells (snake structure)
203
- const cell2 = new core_1.Builder().storeBuffer(Buffer.from(" Data", "utf-8")).endCell();
204
- const cell1 = new core_1.Builder()
205
- .storeBuffer(Buffer.from("Slice", "utf-8"))
206
- .storeRef(cell2)
207
- .endCell();
208
- const slice = cell1.beginParse();
209
- const result = (0, txn_1.loadSnakeBytes)(slice);
210
- expect(result.toString("utf-8")).toBe("Slice Data");
211
- });
212
- it("should handle empty slice", () => {
213
- const cell = new core_1.Builder().endCell();
214
- const slice = cell.beginParse();
215
- const result = (0, txn_1.loadSnakeBytes)(slice);
216
- expect(result.length).toBe(0);
217
- });
218
- it("should handle slice with multiple refs in chain", () => {
219
- // Create a longer chain of cells (snake structure)
220
- const cell3 = new core_1.Builder().storeBuffer(Buffer.from("Part3", "utf-8")).endCell();
221
- const cell2 = new core_1.Builder()
222
- .storeBuffer(Buffer.from("Part2", "utf-8"))
223
- .storeRef(cell3)
224
- .endCell();
225
- const cell1 = new core_1.Builder()
226
- .storeBuffer(Buffer.from("Part1", "utf-8"))
227
- .storeRef(cell2)
228
- .endCell();
229
- const slice = cell1.beginParse();
230
- const result = (0, txn_1.loadSnakeBytes)(slice);
231
- expect(result.toString("utf-8")).toBe("Part1Part2Part3");
232
- });
233
- });
234
- describe("decodeForwardPayload", () => {
235
- it("should return empty string for null payload", () => {
236
- const result = (0, txn_1.decodeForwardPayload)(null);
237
- expect(result).toBe("");
238
- });
239
- it("should decode a valid payload with opcode 0 containing text", () => {
240
- // Create a cell with opcode 0 followed by a text string
241
- const cell = new core_1.Builder()
242
- .storeUint(0, 32) // opcode 0
243
- .storeBuffer(Buffer.from("This is the comment", "utf-8"))
244
- .endCell();
245
- const bocBase64 = cell.toBoc().toString("base64");
246
- const result = (0, txn_1.decodeForwardPayload)(bocBase64);
247
- expect(result).toBe("This is the comment");
248
- });
249
- it("should return empty string for payloads with non-zero opcode", () => {
250
- // Create a cell with opcode 1 followed by some data
251
- const cell = new core_1.Builder()
252
- .storeUint(1, 32) // non-zero opcode
253
- .storeBuffer(Buffer.from("Should be ignored", "utf-8"))
254
- .endCell();
255
- const bocBase64 = cell.toBoc().toString("base64");
256
- const result = (0, txn_1.decodeForwardPayload)(bocBase64);
257
- expect(result).toBe("");
258
- });
259
- it("should handle payload with unicode characters", () => {
260
- // Create a cell with opcode 0 followed by a text with unicode
261
- const cell = new core_1.Builder()
262
- .storeUint(0, 32) // opcode 0
263
- .storeBuffer(Buffer.from("Unicode: 你好, мир, 🚀", "utf-8"))
264
- .endCell();
265
- const bocBase64 = cell.toBoc().toString("base64");
266
- const result = (0, txn_1.decodeForwardPayload)(bocBase64);
267
- expect(result).toBe("Unicode: 你好, мир, 🚀");
268
- });
269
- it("should handle snake format payloads correctly", () => {
270
- // Create a chain of cells with opcode 0 followed by a long message
271
- const cell2 = new core_1.Builder()
272
- .storeBuffer(Buffer.from(" would need multiple cells to store.", "utf-8"))
273
- .endCell();
274
- const cell1 = new core_1.Builder()
275
- .storeUint(0, 32) // opcode 0
276
- .storeBuffer(Buffer.from("This is a very long message that", "utf-8"))
277
- .storeRef(cell2)
278
- .endCell();
279
- const bocBase64 = cell1.toBoc().toString("base64");
280
- const result = (0, txn_1.decodeForwardPayload)(bocBase64);
281
- expect(result).toBe("This is a very long message that would need multiple cells to store.");
282
- });
283
- it("should handle invalid payloads gracefully by returning empty string", () => {
284
- // Create an invalid base64 string
285
- const invalidBase64 = "!@#$%^&*()";
286
- const result = (0, txn_1.decodeForwardPayload)(invalidBase64);
287
- expect(result).toBe("");
288
- });
289
- it("should handle valid base64 but invalid BOC payloads", () => {
290
- // Valid base64 but not a valid BOC
291
- const validBase64NotBoc = "aW52YWxpZCB0b24gZGF0YQ=="; // "invalid ton data" in base64
292
- const result = (0, txn_1.decodeForwardPayload)(validBase64NotBoc);
293
- // Should return empty string as it's not a valid Cell
294
- expect(result).toBe("");
295
- });
296
- });
297
- });
298
- //# sourceMappingURL=txn.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"txn.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/txn.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/utils.unit.test.ts"],"names":[],"mappings":""}
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const core_1 = require("@ton/core");
27
- const config_1 = require("../../config");
28
- const constants_1 = require("../../constants");
29
- const utils_1 = require("../../utils");
30
- const api_fixtures_1 = __importStar(require("../fixtures/api.fixtures"));
31
- const common_fixtures_1 = require("../fixtures/common.fixtures");
32
- describe("TON addresses", () => {
33
- const addr = {
34
- raw: "0:074c7194d64e8218f2cfaab8e79b34201adbed0f8fa7f2773e604dd39969b5ff",
35
- rawWrong: "0:074c7194d64e8218f2cfaab8e79b34201adbed0f8fa7f2773e604dd39969b5f",
36
- bounceUrl: "EQAHTHGU1k6CGPLPqrjnmzQgGtvtD4-n8nc-YE3TmWm1_1JZ",
37
- bounceNoUrl: "EQAHTHGU1k6CGPLPqrjnmzQgGtvtD4+n8nc+YE3TmWm1/1JZ",
38
- bounceWrong: "EQAHTHGU1k6CGPLPqrjnmzQgGtvtD4+n8nc+YE3TmWm1/1J",
39
- noBounceUrl: "UQAHTHGU1k6CGPLPqrjnmzQgGtvtD4-n8nc-YE3TmWm1_w-c",
40
- noBounceNoUrl: "UQAHTHGU1k6CGPLPqrjnmzQgGtvtD4+n8nc+YE3TmWm1/w+c",
41
- noBounceWrong: "UQAHTHGU1k6CGPLPqrjnmzQgGtvtD4+n8nc+YE3TmWm1/w+",
42
- diff: "UQBjrXgZbYDCpxLKpgMnBe985kYDfUeriuYUafbuKgdBpWuJ",
43
- };
44
- test("Check if addresses are valid", () => {
45
- expect((0, utils_1.isAddressValid)(addr.raw)).toBe(true);
46
- expect((0, utils_1.isAddressValid)(addr.bounceUrl)).toBe(true);
47
- expect((0, utils_1.isAddressValid)(addr.bounceNoUrl)).toBe(true);
48
- expect((0, utils_1.isAddressValid)(addr.noBounceUrl)).toBe(true);
49
- expect((0, utils_1.isAddressValid)(addr.noBounceNoUrl)).toBe(true);
50
- expect((0, utils_1.isAddressValid)(addr.rawWrong)).toBe(false);
51
- expect((0, utils_1.isAddressValid)(addr.bounceWrong)).toBe(false);
52
- expect((0, utils_1.isAddressValid)(addr.noBounceWrong)).toBe(false);
53
- expect((0, utils_1.isAddressValid)(addr.diff)).toBe(true);
54
- });
55
- test("Compare addresses", () => {
56
- expect((0, utils_1.addressesAreEqual)(addr.raw, addr.bounceUrl)).toBe(true);
57
- expect((0, utils_1.addressesAreEqual)(addr.raw, addr.noBounceUrl)).toBe(true);
58
- expect((0, utils_1.addressesAreEqual)(addr.bounceUrl, addr.noBounceUrl)).toBe(true);
59
- expect((0, utils_1.addressesAreEqual)(addr.rawWrong, addr.noBounceUrl)).toBe(false);
60
- expect((0, utils_1.addressesAreEqual)(addr.noBounceNoUrl, addr.diff)).toBe(false);
61
- });
62
- });
63
- test("TON Comments are valid", () => {
64
- const msg = (e, m) => ({ isEncrypted: e, text: m });
65
- expect((0, utils_1.commentIsValid)(msg(false, ""))).toBe(true);
66
- expect((0, utils_1.commentIsValid)(msg(false, "Hello world!"))).toBe(true);
67
- expect((0, utils_1.commentIsValid)(msg(false, " 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789"))).toBe(true);
68
- expect((0, utils_1.commentIsValid)(msg(false, " 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 "))).toBe(false);
69
- expect((0, utils_1.commentIsValid)(msg(false, "😀"))).toBe(false);
70
- expect((0, utils_1.commentIsValid)(msg(true, ""))).toBe(false);
71
- });
72
- describe("TON transfers", () => {
73
- const commentPayload = {
74
- type: "comment",
75
- text: "",
76
- };
77
- const transferPayload = {
78
- type: "jetton-transfer",
79
- queryId: null,
80
- amount: BigInt(0),
81
- destination: new core_1.Address(0, Buffer.alloc(32)),
82
- responseDestination: new core_1.Address(0, Buffer.alloc(32)),
83
- customPayload: null,
84
- forwardAmount: BigInt(0),
85
- forwardPayload: null,
86
- knownJetton: null,
87
- };
88
- const nftPayload = {
89
- type: "nft-transfer",
90
- queryId: null,
91
- newOwner: new core_1.Address(0, Buffer.alloc(32)),
92
- responseDestination: new core_1.Address(0, Buffer.alloc(32)),
93
- customPayload: null,
94
- forwardAmount: BigInt(0),
95
- forwardPayload: null,
96
- };
97
- test("Check if the transaction is jetton transfer", () => {
98
- /**
99
- * Checks if the given payload is a jetton transfer.
100
- */
101
- const isJettonTransfer = (payload) => payload.type === "jetton-transfer";
102
- expect(isJettonTransfer(commentPayload)).toBe(false);
103
- expect(isJettonTransfer(transferPayload)).toBe(true);
104
- expect(isJettonTransfer(nftPayload)).toBe(false);
105
- });
106
- });
107
- describe("Get TON paths", () => {
108
- const correctPath = ["44'/607'/0'/0'/0'/0'", "m/44'/607'/0'/0'/0'/0'"];
109
- const wrongPaths = [
110
- "44'/607'/0'/0'/0'",
111
- "44'/607'/0'/0/'/0'",
112
- "44'/607'/0'/0'/x'/0'",
113
- "44'/607'/0'/-3'/0'/0'",
114
- "44'/607'/0'/2147483650'/0'/0'",
115
- ];
116
- test("Correct paths return a correct response", () => {
117
- correctPath.map((path) => {
118
- expect((0, utils_1.getLedgerTonPath)(path)).toStrictEqual([44, 607, 0, 0, 0, 0]);
119
- });
120
- });
121
- test("Wrong paths fail", () => {
122
- wrongPaths.map((path) => {
123
- expect(() => (0, utils_1.getLedgerTonPath)(path)).toThrow(/^(\[ton\] Path)/);
124
- });
125
- });
126
- });
127
- describe("Build TON transaction", () => {
128
- beforeAll(() => {
129
- (0, config_1.setCoinConfig)(() => ({
130
- status: {
131
- type: "active",
132
- },
133
- infra: {
134
- API_TON_ENDPOINT: api_fixtures_1.API_TON_ENDPOINT,
135
- KNOWN_JETTONS: [],
136
- },
137
- }));
138
- api_fixtures_1.default.listen();
139
- });
140
- afterAll(() => {
141
- api_fixtures_1.default.close();
142
- });
143
- const seqno = 22;
144
- test("Build TON transaction with an specific amount", () => {
145
- const tonTransaction = (0, utils_1.buildTonTransaction)(common_fixtures_1.transaction, seqno, common_fixtures_1.account);
146
- // Convert the Address to string to compare
147
- expect({ ...tonTransaction, to: tonTransaction.to.toString() }).toEqual({
148
- to: core_1.Address.parse(common_fixtures_1.transaction.recipient).toString(),
149
- seqno,
150
- amount: BigInt(common_fixtures_1.transaction.amount.toString()),
151
- bounce: false,
152
- timeout: (0, utils_1.getTransferExpirationTime)(),
153
- sendMode: 3,
154
- });
155
- });
156
- test("Build TON transaction when useAllAmount is true and there is a comment", () => {
157
- const transaction = {
158
- ...common_fixtures_1.transaction,
159
- comment: { text: "valid comment", isEncrypted: false },
160
- useAllAmount: true,
161
- };
162
- const tonTransaction = (0, utils_1.buildTonTransaction)(transaction, seqno, common_fixtures_1.account);
163
- // Convert the Address to string to compare
164
- expect({ ...tonTransaction, to: tonTransaction.to.toString() }).toEqual({
165
- to: core_1.Address.parse(transaction.recipient).toString(),
166
- seqno,
167
- amount: BigInt(0),
168
- bounce: false,
169
- timeout: (0, utils_1.getTransferExpirationTime)(),
170
- sendMode: 128,
171
- payload: { type: "comment", text: transaction.comment.text },
172
- });
173
- });
174
- test("Build jetton transaction with an specific amount", () => {
175
- const jettonTransfer = (0, utils_1.buildTonTransaction)(common_fixtures_1.jettonTransaction, seqno, common_fixtures_1.account);
176
- // Convert the Addresses to string to compare
177
- expect({
178
- ...jettonTransfer,
179
- to: jettonTransfer.to.toString(),
180
- payload: undefined,
181
- }).toStrictEqual({
182
- to: core_1.Address.parse(common_fixtures_1.account.subAccounts?.[0].jettonWallet ?? "").toString(),
183
- seqno,
184
- amount: (0, core_1.toNano)(constants_1.TOKEN_TRANSFER_MAX_FEE),
185
- bounce: true,
186
- timeout: (0, utils_1.getTransferExpirationTime)(),
187
- sendMode: 3,
188
- payload: undefined,
189
- });
190
- expect(jettonTransfer.payload?.type).toStrictEqual("jetton-transfer");
191
- expect({
192
- ...jettonTransfer.payload,
193
- destination: jettonTransfer.payload.destination.toString(),
194
- responseDestination: jettonTransfer.payload.responseDestination.toString(),
195
- queryId: jettonTransfer.payload.queryId?.toString(),
196
- amount: jettonTransfer.payload.amount.toString(),
197
- forwardAmount: jettonTransfer.payload.forwardAmount.toString(),
198
- }).toStrictEqual({
199
- type: "jetton-transfer",
200
- queryId: constants_1.TOKEN_TRANSFER_QUERY_ID.toString(),
201
- amount: common_fixtures_1.jettonTransaction.amount.toFixed(),
202
- destination: core_1.Address.parse(common_fixtures_1.jettonTransaction.recipient).toString(),
203
- responseDestination: core_1.Address.parse(common_fixtures_1.account.freshAddress).toString(),
204
- customPayload: null,
205
- forwardAmount: constants_1.TOKEN_TRANSFER_FORWARD_AMOUNT.toString(),
206
- forwardPayload: null,
207
- knownJetton: null,
208
- });
209
- });
210
- });
211
- //# sourceMappingURL=utils.unit.test.js.map