@ledgerhq/coin-ton 0.15.0 → 0.15.1-nightly.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/.unimportedrc.json +2 -1
  2. package/CHANGELOG.md +9 -0
  3. package/lib/{__tests__/integration/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +2 -2
  4. package/lib/test/bridge.dataset.d.ts.map +1 -0
  5. package/lib/{__tests__/integration/bridge.integration.test.js → test/bridge.dataset.js} +4 -4
  6. package/lib/test/bridge.dataset.js.map +1 -0
  7. package/lib/transaction.d.ts.map +1 -1
  8. package/lib/transaction.js +44 -0
  9. package/lib/transaction.js.map +1 -1
  10. package/lib/types.d.ts +40 -2
  11. package/lib/types.d.ts.map +1 -1
  12. package/lib-es/{__tests__/integration/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +2 -2
  13. package/lib-es/test/bridge.dataset.d.ts.map +1 -0
  14. package/lib-es/{__tests__/integration/bridge.integration.test.js → test/bridge.dataset.js} +4 -4
  15. package/lib-es/test/bridge.dataset.js.map +1 -0
  16. package/lib-es/transaction.d.ts.map +1 -1
  17. package/lib-es/transaction.js +44 -0
  18. package/lib-es/transaction.js.map +1 -1
  19. package/lib-es/types.d.ts +40 -2
  20. package/lib-es/types.d.ts.map +1 -1
  21. package/package.json +8 -8
  22. package/src/{__tests__/integration/bridge.integration.test.ts → test/bridge.dataset.ts} +4 -4
  23. package/src/transaction.ts +44 -0
  24. package/src/transaction.unit.test.ts +71 -8
  25. package/src/types.ts +52 -2
  26. package/lib/__tests__/fixtures/api.fixtures.d.ts +0 -4
  27. package/lib/__tests__/fixtures/api.fixtures.d.ts.map +0 -1
  28. package/lib/__tests__/fixtures/api.fixtures.js +0 -37
  29. package/lib/__tests__/fixtures/api.fixtures.js.map +0 -1
  30. package/lib/__tests__/fixtures/common.fixtures.d.ts +0 -32
  31. package/lib/__tests__/fixtures/common.fixtures.d.ts.map +0 -1
  32. package/lib/__tests__/fixtures/common.fixtures.js +0 -176
  33. package/lib/__tests__/fixtures/common.fixtures.js.map +0 -1
  34. package/lib/__tests__/integration/bridge.integration.test.d.ts.map +0 -1
  35. package/lib/__tests__/integration/bridge.integration.test.js.map +0 -1
  36. package/lib/__tests__/unit/api.unit.test.d.ts +0 -2
  37. package/lib/__tests__/unit/api.unit.test.d.ts.map +0 -1
  38. package/lib/__tests__/unit/api.unit.test.js +0 -77
  39. package/lib/__tests__/unit/api.unit.test.js.map +0 -1
  40. package/lib/__tests__/unit/broadcast.unit.test.d.ts +0 -2
  41. package/lib/__tests__/unit/broadcast.unit.test.d.ts.map +0 -1
  42. package/lib/__tests__/unit/broadcast.unit.test.js +0 -37
  43. package/lib/__tests__/unit/broadcast.unit.test.js.map +0 -1
  44. package/lib/__tests__/unit/createTransaction.unit.test.d.ts +0 -2
  45. package/lib/__tests__/unit/createTransaction.unit.test.d.ts.map +0 -1
  46. package/lib/__tests__/unit/createTransaction.unit.test.js +0 -25
  47. package/lib/__tests__/unit/createTransaction.unit.test.js.map +0 -1
  48. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts +0 -2
  49. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  50. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js +0 -111
  51. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js.map +0 -1
  52. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts +0 -2
  53. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  54. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js +0 -30
  55. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js.map +0 -1
  56. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  57. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  58. package/lib/__tests__/unit/getTransactionStatus.unit.test.js +0 -120
  59. package/lib/__tests__/unit/getTransactionStatus.unit.test.js.map +0 -1
  60. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts +0 -2
  61. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts.map +0 -1
  62. package/lib/__tests__/unit/hw-getAddress.unit.test.js +0 -54
  63. package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +0 -1
  64. package/lib/__tests__/unit/logic.unit.test.d.ts +0 -2
  65. package/lib/__tests__/unit/logic.unit.test.d.ts.map +0 -1
  66. package/lib/__tests__/unit/logic.unit.test.js +0 -18
  67. package/lib/__tests__/unit/logic.unit.test.js.map +0 -1
  68. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts +0 -2
  69. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts.map +0 -1
  70. package/lib/__tests__/unit/prepareTransaction.unit.test.js +0 -109
  71. package/lib/__tests__/unit/prepareTransaction.unit.test.js.map +0 -1
  72. package/lib/__tests__/unit/signOperation.unit.test.d.ts +0 -2
  73. package/lib/__tests__/unit/signOperation.unit.test.d.ts.map +0 -1
  74. package/lib/__tests__/unit/signOperation.unit.test.js +0 -72
  75. package/lib/__tests__/unit/signOperation.unit.test.js.map +0 -1
  76. package/lib/__tests__/unit/txn.unit.test.d.ts +0 -2
  77. package/lib/__tests__/unit/txn.unit.test.d.ts.map +0 -1
  78. package/lib/__tests__/unit/txn.unit.test.js +0 -298
  79. package/lib/__tests__/unit/txn.unit.test.js.map +0 -1
  80. package/lib/__tests__/unit/utils.unit.test.d.ts +0 -2
  81. package/lib/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  82. package/lib/__tests__/unit/utils.unit.test.js +0 -211
  83. package/lib/__tests__/unit/utils.unit.test.js.map +0 -1
  84. package/lib/transaction.unit.test.d.ts +0 -2
  85. package/lib/transaction.unit.test.d.ts.map +0 -1
  86. package/lib/transaction.unit.test.js +0 -600
  87. package/lib/transaction.unit.test.js.map +0 -1
  88. package/lib-es/__tests__/fixtures/api.fixtures.d.ts +0 -4
  89. package/lib-es/__tests__/fixtures/api.fixtures.d.ts.map +0 -1
  90. package/lib-es/__tests__/fixtures/api.fixtures.js +0 -34
  91. package/lib-es/__tests__/fixtures/api.fixtures.js.map +0 -1
  92. package/lib-es/__tests__/fixtures/common.fixtures.d.ts +0 -32
  93. package/lib-es/__tests__/fixtures/common.fixtures.d.ts.map +0 -1
  94. package/lib-es/__tests__/fixtures/common.fixtures.js +0 -170
  95. package/lib-es/__tests__/fixtures/common.fixtures.js.map +0 -1
  96. package/lib-es/__tests__/integration/bridge.integration.test.d.ts.map +0 -1
  97. package/lib-es/__tests__/integration/bridge.integration.test.js.map +0 -1
  98. package/lib-es/__tests__/unit/api.unit.test.d.ts +0 -2
  99. package/lib-es/__tests__/unit/api.unit.test.d.ts.map +0 -1
  100. package/lib-es/__tests__/unit/api.unit.test.js +0 -52
  101. package/lib-es/__tests__/unit/api.unit.test.js.map +0 -1
  102. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts +0 -2
  103. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts.map +0 -1
  104. package/lib-es/__tests__/unit/broadcast.unit.test.js +0 -32
  105. package/lib-es/__tests__/unit/broadcast.unit.test.js.map +0 -1
  106. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts +0 -2
  107. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts.map +0 -1
  108. package/lib-es/__tests__/unit/createTransaction.unit.test.js +0 -20
  109. package/lib-es/__tests__/unit/createTransaction.unit.test.js.map +0 -1
  110. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts +0 -2
  111. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  112. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js +0 -106
  113. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js.map +0 -1
  114. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts +0 -2
  115. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  116. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js +0 -25
  117. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js.map +0 -1
  118. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  119. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  120. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js +0 -115
  121. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js.map +0 -1
  122. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts +0 -2
  123. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts.map +0 -1
  124. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js +0 -49
  125. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +0 -1
  126. package/lib-es/__tests__/unit/logic.unit.test.d.ts +0 -2
  127. package/lib-es/__tests__/unit/logic.unit.test.d.ts.map +0 -1
  128. package/lib-es/__tests__/unit/logic.unit.test.js +0 -16
  129. package/lib-es/__tests__/unit/logic.unit.test.js.map +0 -1
  130. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts +0 -2
  131. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts.map +0 -1
  132. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js +0 -81
  133. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js.map +0 -1
  134. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts +0 -2
  135. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts.map +0 -1
  136. package/lib-es/__tests__/unit/signOperation.unit.test.js +0 -67
  137. package/lib-es/__tests__/unit/signOperation.unit.test.js.map +0 -1
  138. package/lib-es/__tests__/unit/txn.unit.test.d.ts +0 -2
  139. package/lib-es/__tests__/unit/txn.unit.test.d.ts.map +0 -1
  140. package/lib-es/__tests__/unit/txn.unit.test.js +0 -293
  141. package/lib-es/__tests__/unit/txn.unit.test.js.map +0 -1
  142. package/lib-es/__tests__/unit/utils.unit.test.d.ts +0 -2
  143. package/lib-es/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  144. package/lib-es/__tests__/unit/utils.unit.test.js +0 -186
  145. package/lib-es/__tests__/unit/utils.unit.test.js.map +0 -1
  146. package/lib-es/transaction.unit.test.d.ts +0 -2
  147. package/lib-es/transaction.unit.test.d.ts.map +0 -1
  148. package/lib-es/transaction.unit.test.js +0 -595
  149. package/lib-es/transaction.unit.test.js.map +0 -1
@@ -1,595 +0,0 @@
1
- /* eslint-disable no-irregular-whitespace */
2
- import BigNumber from "bignumber.js";
3
- import { Address, Cell } from "@ton/core";
4
- import { formatTransaction, fromTransactionRaw, toTransactionRaw } from "./transaction";
5
- import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
6
- import { genAccount } from "@ledgerhq/coin-framework/mocks/account";
7
- const baseTx = {
8
- family: "ton",
9
- amount: BigNumber(0),
10
- fees: BigNumber(0),
11
- recipient: "recipient",
12
- comment: { isEncrypted: false, text: "" },
13
- };
14
- const baseRawTx = {
15
- family: "ton",
16
- amount: "0",
17
- fees: "0",
18
- recipient: "recipient",
19
- comment: { isEncrypted: false, text: "" },
20
- };
21
- const rawRandomAddress = "0:ed1691307050047117b998b561d8de82d31fbf84910ced6eb5fc92e7485ef8a7";
22
- const randomAddress = Address.parse(rawRandomAddress);
23
- const emptyCell = Cell.EMPTY;
24
- const rawEmptyCell = emptyCell.toBoc().toString("base64");
25
- const cases = [
26
- {
27
- name: "normal tx",
28
- tx: {
29
- ...baseTx,
30
- },
31
- rawTx: {
32
- ...baseRawTx,
33
- },
34
- },
35
- {
36
- name: "tx with comment",
37
- tx: {
38
- ...baseTx,
39
- comment: {
40
- isEncrypted: false,
41
- text: "hello",
42
- },
43
- },
44
- rawTx: {
45
- ...baseRawTx,
46
- comment: {
47
- isEncrypted: false,
48
- text: "hello",
49
- },
50
- },
51
- },
52
- {
53
- name: "tx with payload for jetton-transfer",
54
- tx: {
55
- ...baseTx,
56
- payload: {
57
- type: "jetton-transfer",
58
- queryId: BigInt(0),
59
- amount: BigInt(0),
60
- destination: randomAddress,
61
- responseDestination: randomAddress,
62
- customPayload: emptyCell,
63
- forwardAmount: BigInt(0),
64
- forwardPayload: emptyCell,
65
- knownJetton: {
66
- jettonId: 0,
67
- workchain: 0,
68
- },
69
- },
70
- },
71
- rawTx: {
72
- ...baseRawTx,
73
- payload: {
74
- type: "jetton-transfer",
75
- queryId: "0",
76
- amount: "0",
77
- destination: rawRandomAddress,
78
- responseDestination: rawRandomAddress,
79
- customPayload: rawEmptyCell,
80
- forwardAmount: "0",
81
- forwardPayload: rawEmptyCell,
82
- knownJetton: {
83
- jettonId: 0,
84
- workchain: 0,
85
- },
86
- },
87
- },
88
- },
89
- {
90
- name: "tx with payload for jetton-transfer and no customPayload",
91
- tx: {
92
- ...baseTx,
93
- payload: {
94
- type: "jetton-transfer",
95
- queryId: BigInt(0),
96
- amount: BigInt(0),
97
- destination: randomAddress,
98
- responseDestination: randomAddress,
99
- customPayload: null,
100
- forwardAmount: BigInt(0),
101
- forwardPayload: emptyCell,
102
- knownJetton: {
103
- jettonId: 0,
104
- workchain: 0,
105
- },
106
- },
107
- },
108
- rawTx: {
109
- ...baseRawTx,
110
- payload: {
111
- type: "jetton-transfer",
112
- queryId: "0",
113
- amount: "0",
114
- destination: rawRandomAddress,
115
- responseDestination: rawRandomAddress,
116
- customPayload: null,
117
- forwardAmount: "0",
118
- forwardPayload: rawEmptyCell,
119
- knownJetton: {
120
- jettonId: 0,
121
- workchain: 0,
122
- },
123
- },
124
- },
125
- },
126
- {
127
- name: "tx with payload for nft-transfer",
128
- tx: {
129
- ...baseTx,
130
- payload: {
131
- type: "nft-transfer",
132
- queryId: BigInt(0),
133
- newOwner: randomAddress,
134
- responseDestination: randomAddress,
135
- customPayload: emptyCell,
136
- forwardAmount: BigInt(0),
137
- forwardPayload: emptyCell,
138
- },
139
- },
140
- rawTx: {
141
- ...baseRawTx,
142
- payload: {
143
- type: "nft-transfer",
144
- queryId: "0",
145
- newOwner: rawRandomAddress,
146
- responseDestination: rawRandomAddress,
147
- customPayload: rawEmptyCell,
148
- forwardAmount: "0",
149
- forwardPayload: rawEmptyCell,
150
- },
151
- },
152
- },
153
- {
154
- name: "tx with payload for nft-transfer and no queryId",
155
- tx: {
156
- ...baseTx,
157
- payload: {
158
- type: "nft-transfer",
159
- queryId: null,
160
- newOwner: randomAddress,
161
- responseDestination: randomAddress,
162
- customPayload: emptyCell,
163
- forwardAmount: BigInt(0),
164
- forwardPayload: emptyCell,
165
- },
166
- },
167
- rawTx: {
168
- ...baseRawTx,
169
- payload: {
170
- type: "nft-transfer",
171
- queryId: null,
172
- newOwner: rawRandomAddress,
173
- responseDestination: rawRandomAddress,
174
- customPayload: rawEmptyCell,
175
- forwardAmount: "0",
176
- forwardPayload: rawEmptyCell,
177
- },
178
- },
179
- },
180
- {
181
- name: "tx with payload for comment",
182
- tx: {
183
- ...baseTx,
184
- payload: {
185
- type: "comment",
186
- text: "test",
187
- },
188
- },
189
- rawTx: {
190
- ...baseRawTx,
191
- payload: {
192
- type: "comment",
193
- text: "test",
194
- },
195
- },
196
- },
197
- {
198
- name: "tx with payload for comment",
199
- tx: {
200
- ...baseTx,
201
- payload: {
202
- type: "comment",
203
- text: "test",
204
- },
205
- },
206
- rawTx: {
207
- ...baseRawTx,
208
- payload: {
209
- type: "comment",
210
- text: "test",
211
- },
212
- },
213
- },
214
- {
215
- name: "tx with payload for unsafe",
216
- tx: {
217
- ...baseTx,
218
- payload: {
219
- type: "unsafe",
220
- message: emptyCell,
221
- },
222
- },
223
- rawTx: {
224
- ...baseRawTx,
225
- payload: {
226
- type: "unsafe",
227
- message: rawEmptyCell,
228
- },
229
- },
230
- },
231
- {
232
- name: "tx with payload for jetton-burn",
233
- tx: {
234
- ...baseTx,
235
- payload: {
236
- type: "jetton-burn",
237
- queryId: BigInt(0),
238
- amount: BigInt(0),
239
- responseDestination: randomAddress,
240
- customPayload: emptyCell,
241
- },
242
- },
243
- rawTx: {
244
- ...baseRawTx,
245
- payload: {
246
- type: "jetton-burn",
247
- queryId: "0",
248
- amount: "0",
249
- responseDestination: rawRandomAddress,
250
- customPayload: rawEmptyCell,
251
- },
252
- },
253
- },
254
- {
255
- name: "tx with payload for jetton-burn with buffer",
256
- tx: {
257
- ...baseTx,
258
- payload: {
259
- type: "jetton-burn",
260
- queryId: BigInt(0),
261
- amount: BigInt(0),
262
- responseDestination: randomAddress,
263
- customPayload: Buffer.from("test"),
264
- },
265
- },
266
- rawTx: {
267
- ...baseRawTx,
268
- payload: {
269
- type: "jetton-burn",
270
- queryId: "0",
271
- amount: "0",
272
- responseDestination: rawRandomAddress,
273
- customPayload: "74657374",
274
- },
275
- },
276
- },
277
- {
278
- name: "tx with payload for jetton-burn and no customPayload",
279
- tx: {
280
- ...baseTx,
281
- payload: {
282
- type: "jetton-burn",
283
- queryId: BigInt(0),
284
- amount: BigInt(0),
285
- responseDestination: randomAddress,
286
- customPayload: null,
287
- },
288
- },
289
- rawTx: {
290
- ...baseRawTx,
291
- payload: {
292
- type: "jetton-burn",
293
- queryId: "0",
294
- amount: "0",
295
- responseDestination: rawRandomAddress,
296
- customPayload: null,
297
- },
298
- },
299
- },
300
- {
301
- name: "tx with payload for add-whitelist",
302
- tx: {
303
- ...baseTx,
304
- payload: {
305
- type: "add-whitelist",
306
- queryId: BigInt(0),
307
- address: randomAddress,
308
- },
309
- },
310
- rawTx: {
311
- ...baseRawTx,
312
- payload: {
313
- type: "add-whitelist",
314
- queryId: "0",
315
- address: rawRandomAddress,
316
- },
317
- },
318
- },
319
- {
320
- name: "tx with payload for single-nominator-withdraw",
321
- tx: {
322
- ...baseTx,
323
- payload: {
324
- type: "single-nominator-withdraw",
325
- queryId: BigInt(0),
326
- amount: BigInt(0),
327
- },
328
- },
329
- rawTx: {
330
- ...baseRawTx,
331
- payload: {
332
- type: "single-nominator-withdraw",
333
- queryId: "0",
334
- amount: "0",
335
- },
336
- },
337
- },
338
- {
339
- name: "tx with payload for single-nominator-change-validator",
340
- tx: {
341
- ...baseTx,
342
- payload: {
343
- type: "single-nominator-change-validator",
344
- queryId: BigInt(0),
345
- address: randomAddress,
346
- },
347
- },
348
- rawTx: {
349
- ...baseRawTx,
350
- payload: {
351
- type: "single-nominator-change-validator",
352
- queryId: "0",
353
- address: rawRandomAddress,
354
- },
355
- },
356
- },
357
- {
358
- name: "tx with payload for tonstakers-deposit",
359
- tx: {
360
- ...baseTx,
361
- payload: {
362
- type: "tonstakers-deposit",
363
- queryId: BigInt(0),
364
- appId: BigInt(0),
365
- },
366
- },
367
- rawTx: {
368
- ...baseRawTx,
369
- payload: {
370
- type: "tonstakers-deposit",
371
- queryId: "0",
372
- appId: "0",
373
- },
374
- },
375
- },
376
- {
377
- name: "tx with payload for vote-for-proposal",
378
- tx: {
379
- ...baseTx,
380
- payload: {
381
- type: "vote-for-proposal",
382
- queryId: BigInt(0),
383
- votingAddress: randomAddress,
384
- expirationDate: 0,
385
- vote: true,
386
- needConfirmation: true,
387
- },
388
- },
389
- rawTx: {
390
- ...baseRawTx,
391
- payload: {
392
- type: "vote-for-proposal",
393
- queryId: "0",
394
- votingAddress: rawRandomAddress,
395
- expirationDate: 0,
396
- vote: true,
397
- needConfirmation: true,
398
- },
399
- },
400
- },
401
- {
402
- name: "tx with payload for change-dns-record type wallet",
403
- tx: {
404
- ...baseTx,
405
- payload: {
406
- type: "change-dns-record",
407
- queryId: BigInt(0),
408
- record: {
409
- type: "wallet",
410
- value: {
411
- address: randomAddress,
412
- capabilities: {
413
- isWallet: true,
414
- },
415
- },
416
- },
417
- },
418
- },
419
- rawTx: {
420
- ...baseRawTx,
421
- payload: {
422
- type: "change-dns-record",
423
- queryId: "0",
424
- record: {
425
- type: "wallet",
426
- value: {
427
- address: rawRandomAddress,
428
- capabilities: {
429
- isWallet: true,
430
- },
431
- },
432
- },
433
- },
434
- },
435
- },
436
- {
437
- name: "tx with payload for change-dns-record type wallet no value",
438
- tx: {
439
- ...baseTx,
440
- payload: {
441
- type: "change-dns-record",
442
- queryId: BigInt(0),
443
- record: {
444
- type: "wallet",
445
- value: null,
446
- },
447
- },
448
- },
449
- rawTx: {
450
- ...baseRawTx,
451
- payload: {
452
- type: "change-dns-record",
453
- queryId: "0",
454
- record: {
455
- type: "wallet",
456
- value: null,
457
- },
458
- },
459
- },
460
- },
461
- {
462
- name: "tx with payload for change-dns-record type unknown",
463
- tx: {
464
- ...baseTx,
465
- payload: {
466
- type: "change-dns-record",
467
- queryId: BigInt(0),
468
- record: {
469
- type: "unknown",
470
- key: Buffer.from("testKey"),
471
- value: emptyCell,
472
- },
473
- },
474
- },
475
- rawTx: {
476
- ...baseRawTx,
477
- payload: {
478
- type: "change-dns-record",
479
- queryId: "0",
480
- record: {
481
- type: "unknown",
482
- key: "746573744b6579",
483
- value: rawEmptyCell,
484
- },
485
- },
486
- },
487
- },
488
- {
489
- name: "tx with payload for token-bridge-pay-swap",
490
- tx: {
491
- ...baseTx,
492
- payload: {
493
- type: "token-bridge-pay-swap",
494
- queryId: BigInt(0),
495
- swapId: Buffer.from("swapId"),
496
- },
497
- },
498
- rawTx: {
499
- ...baseRawTx,
500
- payload: {
501
- type: "token-bridge-pay-swap",
502
- queryId: "0",
503
- swapId: "737761704964",
504
- },
505
- },
506
- },
507
- {
508
- name: "tx with payload we don't support",
509
- tx: {
510
- ...baseTx,
511
- payload: {
512
- type: "fake-type",
513
- as: "is",
514
- },
515
- },
516
- rawTx: {
517
- ...baseRawTx,
518
- payload: {
519
- type: "fake-type",
520
- as: "is",
521
- },
522
- },
523
- },
524
- ];
525
- describe("toTransactionRaw", () => {
526
- it.each(cases)("should work for $name", ({ tx, rawTx }) => {
527
- const resTx = toTransactionRaw(tx);
528
- expect(resTx).toEqual(rawTx);
529
- });
530
- });
531
- describe("fromTransactionRaw", () => {
532
- it.each(cases)("should work for $name", ({ tx, rawTx }) => {
533
- const resTx = fromTransactionRaw(rawTx);
534
- expect(resTx).toEqual(tx);
535
- });
536
- });
537
- const TON = getCryptoCurrencyById("ton");
538
- describe("formatTransaction", () => {
539
- const account = genAccount("mocked-ton-account-1", {
540
- currency: TON,
541
- });
542
- it("transaction with 0 amount", () => {
543
- const transaction = {
544
- family: "ton",
545
- amount: BigNumber(0),
546
- recipient: "test-recipient",
547
- fees: BigNumber(0),
548
- comment: {
549
- isEncrypted: false,
550
- text: "",
551
- },
552
- };
553
- expect(formatTransaction(transaction, account)).toMatchInlineSnapshot(`
554
- "
555
- SEND
556
- TO test-recipient"
557
- `);
558
- });
559
- it("transaction with amount", () => {
560
- const transaction = {
561
- family: "ton",
562
- amount: BigNumber(1000),
563
- recipient: "test-recipient",
564
- fees: BigNumber(0),
565
- comment: {
566
- isEncrypted: false,
567
- text: "",
568
- },
569
- };
570
- expect(formatTransaction(transaction, account)).toMatchInlineSnapshot(`
571
- "
572
- SEND 0.000001 TON
573
- TO test-recipient"
574
- `);
575
- });
576
- it("transaction with useAllAmount", () => {
577
- const transaction = {
578
- family: "ton",
579
- amount: BigNumber(1000),
580
- recipient: "test-recipient",
581
- fees: BigNumber(0),
582
- comment: {
583
- isEncrypted: false,
584
- text: "",
585
- },
586
- useAllAmount: true,
587
- };
588
- expect(formatTransaction(transaction, account)).toMatchInlineSnapshot(`
589
- "
590
- SEND MAX
591
- TO test-recipient"
592
- `);
593
- });
594
- });
595
- //# sourceMappingURL=transaction.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.unit.test.js","sourceRoot":"","sources":["../src/transaction.unit.test.ts"],"names":[],"mappings":"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"}