@ledgerhq/coin-cosmos 0.21.0-nightly.20251211024123 → 0.21.0-nightly.20251212024049

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 (109) hide show
  1. package/CHANGELOG.md +13 -11
  2. package/lib/bridge/index.d.ts.map +1 -1
  3. package/lib/bridge/index.js +2 -0
  4. package/lib/bridge/index.js.map +1 -1
  5. package/lib/bridge/index.test.d.ts +2 -0
  6. package/lib/bridge/index.test.d.ts.map +1 -0
  7. package/lib/bridge/index.test.js +68 -0
  8. package/lib/bridge/index.test.js.map +1 -0
  9. package/lib/buildTransaction.unit.test.d.ts +2 -0
  10. package/lib/buildTransaction.unit.test.d.ts.map +1 -0
  11. package/lib/buildTransaction.unit.test.js +736 -0
  12. package/lib/buildTransaction.unit.test.js.map +1 -0
  13. package/lib/chain/chain.unit.test.d.ts +2 -0
  14. package/lib/chain/chain.unit.test.d.ts.map +1 -0
  15. package/lib/chain/chain.unit.test.js +41 -0
  16. package/lib/chain/chain.unit.test.js.map +1 -0
  17. package/lib/helpers.unit.test.d.ts +2 -0
  18. package/lib/helpers.unit.test.d.ts.map +1 -0
  19. package/lib/helpers.unit.test.js +65 -0
  20. package/lib/helpers.unit.test.js.map +1 -0
  21. package/lib/mock.d.ts +5 -4
  22. package/lib/mock.d.ts.map +1 -1
  23. package/lib/mock.js +7 -0
  24. package/lib/mock.js.map +1 -1
  25. package/lib/network/Cosmos.unit.test.d.ts +2 -0
  26. package/lib/network/Cosmos.unit.test.d.ts.map +1 -0
  27. package/lib/network/Cosmos.unit.test.js +580 -0
  28. package/lib/network/Cosmos.unit.test.js.map +1 -0
  29. package/lib/prepareTransaction.unit.test.d.ts +2 -0
  30. package/lib/prepareTransaction.unit.test.d.ts.map +1 -0
  31. package/lib/prepareTransaction.unit.test.js +159 -0
  32. package/lib/prepareTransaction.unit.test.js.map +1 -0
  33. package/lib/synchronisation.integ.test.d.ts +2 -0
  34. package/lib/synchronisation.integ.test.d.ts.map +1 -0
  35. package/lib/synchronisation.integ.test.js +233 -0
  36. package/lib/synchronisation.integ.test.js.map +1 -0
  37. package/lib/synchronisation.test.d.ts +2 -0
  38. package/lib/synchronisation.test.d.ts.map +1 -0
  39. package/lib/synchronisation.test.js +65 -0
  40. package/lib/synchronisation.test.js.map +1 -0
  41. package/lib/synchronisation.unit.test.d.ts +2 -0
  42. package/lib/synchronisation.unit.test.d.ts.map +1 -0
  43. package/lib/synchronisation.unit.test.js +667 -0
  44. package/lib/synchronisation.unit.test.js.map +1 -0
  45. package/lib/validateAddress.d.ts +3 -0
  46. package/lib/validateAddress.d.ts.map +1 -0
  47. package/lib/validateAddress.js +52 -0
  48. package/lib/validateAddress.js.map +1 -0
  49. package/lib/validateAddress.test.d.ts +2 -0
  50. package/lib/validateAddress.test.d.ts.map +1 -0
  51. package/lib/validateAddress.test.js +125 -0
  52. package/lib/validateAddress.test.js.map +1 -0
  53. package/lib-es/bridge/index.d.ts.map +1 -1
  54. package/lib-es/bridge/index.js +2 -0
  55. package/lib-es/bridge/index.js.map +1 -1
  56. package/lib-es/bridge/index.test.d.ts +2 -0
  57. package/lib-es/bridge/index.test.d.ts.map +1 -0
  58. package/lib-es/bridge/index.test.js +66 -0
  59. package/lib-es/bridge/index.test.js.map +1 -0
  60. package/lib-es/buildTransaction.unit.test.d.ts +2 -0
  61. package/lib-es/buildTransaction.unit.test.d.ts.map +1 -0
  62. package/lib-es/buildTransaction.unit.test.js +731 -0
  63. package/lib-es/buildTransaction.unit.test.js.map +1 -0
  64. package/lib-es/chain/chain.unit.test.d.ts +2 -0
  65. package/lib-es/chain/chain.unit.test.d.ts.map +1 -0
  66. package/lib-es/chain/chain.unit.test.js +36 -0
  67. package/lib-es/chain/chain.unit.test.js.map +1 -0
  68. package/lib-es/helpers.unit.test.d.ts +2 -0
  69. package/lib-es/helpers.unit.test.d.ts.map +1 -0
  70. package/lib-es/helpers.unit.test.js +63 -0
  71. package/lib-es/helpers.unit.test.js.map +1 -0
  72. package/lib-es/mock.d.ts +5 -4
  73. package/lib-es/mock.d.ts.map +1 -1
  74. package/lib-es/mock.js +7 -0
  75. package/lib-es/mock.js.map +1 -1
  76. package/lib-es/network/Cosmos.unit.test.d.ts +2 -0
  77. package/lib-es/network/Cosmos.unit.test.d.ts.map +1 -0
  78. package/lib-es/network/Cosmos.unit.test.js +575 -0
  79. package/lib-es/network/Cosmos.unit.test.js.map +1 -0
  80. package/lib-es/prepareTransaction.unit.test.d.ts +2 -0
  81. package/lib-es/prepareTransaction.unit.test.d.ts.map +1 -0
  82. package/lib-es/prepareTransaction.unit.test.js +131 -0
  83. package/lib-es/prepareTransaction.unit.test.js.map +1 -0
  84. package/lib-es/synchronisation.integ.test.d.ts +2 -0
  85. package/lib-es/synchronisation.integ.test.d.ts.map +1 -0
  86. package/lib-es/synchronisation.integ.test.js +205 -0
  87. package/lib-es/synchronisation.integ.test.js.map +1 -0
  88. package/lib-es/synchronisation.test.d.ts +2 -0
  89. package/lib-es/synchronisation.test.d.ts.map +1 -0
  90. package/lib-es/synchronisation.test.js +60 -0
  91. package/lib-es/synchronisation.test.js.map +1 -0
  92. package/lib-es/synchronisation.unit.test.d.ts +2 -0
  93. package/lib-es/synchronisation.unit.test.d.ts.map +1 -0
  94. package/lib-es/synchronisation.unit.test.js +639 -0
  95. package/lib-es/synchronisation.unit.test.js.map +1 -0
  96. package/lib-es/validateAddress.d.ts +3 -0
  97. package/lib-es/validateAddress.d.ts.map +1 -0
  98. package/lib-es/validateAddress.js +22 -0
  99. package/lib-es/validateAddress.js.map +1 -0
  100. package/lib-es/validateAddress.test.d.ts +2 -0
  101. package/lib-es/validateAddress.test.d.ts.map +1 -0
  102. package/lib-es/validateAddress.test.js +97 -0
  103. package/lib-es/validateAddress.test.js.map +1 -0
  104. package/package.json +10 -10
  105. package/src/bridge/index.ts +2 -0
  106. package/src/mock.ts +21 -11
  107. package/src/validateAddress.test.ts +132 -0
  108. package/src/validateAddress.ts +27 -0
  109. package/tsconfig.json +8 -2
@@ -0,0 +1,575 @@
1
+ import network from "@ledgerhq/live-network/network";
2
+ import BigNumber from "bignumber.js";
3
+ import cryptoFactory from "../chain/chain";
4
+ import { CosmosAPI } from "./Cosmos";
5
+ jest.mock("@ledgerhq/live-network/network");
6
+ const mockedNetwork = jest.mocked(network);
7
+ const mockAxiosResponse = (data) => {
8
+ return mockedNetwork.mockResolvedValue({
9
+ data,
10
+ status: 200,
11
+ headers: {},
12
+ statusText: "",
13
+ config: {
14
+ headers: {},
15
+ },
16
+ });
17
+ };
18
+ describe("CosmosApi", () => {
19
+ let cosmosApi;
20
+ beforeEach(() => {
21
+ cosmosApi = new CosmosAPI("cosmos");
22
+ });
23
+ afterEach(() => {
24
+ jest.resetAllMocks();
25
+ });
26
+ describe("getAccount", () => {
27
+ it("should return base_account if available", async () => {
28
+ mockedNetwork.mockResolvedValue(Promise.resolve({
29
+ data: {
30
+ account: {
31
+ account_number: 1,
32
+ sequence: 0,
33
+ pub_key: { key: "k", "@type": "type" },
34
+ base_account: {
35
+ account_number: 2,
36
+ sequence: 42,
37
+ pub_key: { key: "k2", "@type": "type2" },
38
+ },
39
+ },
40
+ },
41
+ status: 200,
42
+ headers: {},
43
+ statusText: "",
44
+ config: {
45
+ headers: {},
46
+ },
47
+ }));
48
+ const account = await cosmosApi.getAccount("addr");
49
+ expect(account.accountNumber).toEqual(2);
50
+ expect(account.sequence).toEqual(42);
51
+ expect(account.pubKey).toEqual("k2");
52
+ expect(account.pubKeyType).toEqual("type2");
53
+ });
54
+ it("should return the correct account based on type", async () => {
55
+ mockAxiosResponse({
56
+ account: {
57
+ "@type": "/cosmos.auth.v1beta1.BaseAccount",
58
+ account_number: 1,
59
+ sequence: 0,
60
+ pub_key: { key: "k", "@type": "type" },
61
+ },
62
+ });
63
+ const account = await cosmosApi.getAccount("addr");
64
+ expect(account).toEqual({
65
+ accountNumber: 1,
66
+ sequence: 0,
67
+ pubKey: "k",
68
+ pubKeyType: "type",
69
+ });
70
+ mockAxiosResponse({
71
+ account: {
72
+ "@type": "/ethermint.types.v1.EthAccount",
73
+ account_number: 1,
74
+ sequence: 0,
75
+ pub_key: { key: "k", "@type": "type" },
76
+ base_account: {
77
+ address: "address",
78
+ pub_key: { key: "k2", "@type": "type2" },
79
+ account_number: 2,
80
+ sequence: 3,
81
+ },
82
+ code_hash: "codeHash",
83
+ },
84
+ });
85
+ const ethermintAccount = await cosmosApi.getAccount("addr");
86
+ expect(ethermintAccount).toEqual({
87
+ accountNumber: 2,
88
+ sequence: 3,
89
+ pubKey: "k2",
90
+ pubKeyType: "type2",
91
+ });
92
+ });
93
+ it("should return default sequence value if network fails", async () => {
94
+ mockedNetwork.mockImplementation(() => {
95
+ throw new Error();
96
+ });
97
+ const account = await cosmosApi.getAccount("addr");
98
+ expect(account.sequence).toEqual(0);
99
+ });
100
+ it("should return default pubkeytype value if network fails", async () => {
101
+ mockedNetwork.mockImplementation(() => {
102
+ throw new Error();
103
+ });
104
+ const account = await cosmosApi.getAccount("addr");
105
+ expect(account.pubKeyType).toEqual(cryptoFactory("cosmos").defaultPubKeyType);
106
+ });
107
+ });
108
+ describe("getRedelegations", () => {
109
+ it("should return redelegations correctly (sdk v0.41/0.42/0.44/0.45)", async () => {
110
+ const getApiResponseSinceSdk041 = {
111
+ redelegation_responses: [
112
+ {
113
+ redelegation: {
114
+ delegator_address: "cosmosDelegatorAddress",
115
+ validator_src_address: "cosmosValidatorSrcAddress",
116
+ validator_dst_address: "cosmosValidatorDstAddress",
117
+ entries: [
118
+ {
119
+ creation_height: "1",
120
+ completion_time: "2023-06-04T15:12:58.567Z",
121
+ initial_balance: "100",
122
+ shares_dst: "100",
123
+ },
124
+ ],
125
+ },
126
+ entries: [
127
+ {
128
+ redelegation_entry: {
129
+ creation_height: "1",
130
+ completion_time: "2023-06-04T15:12:58.567Z",
131
+ initial_balance: "100",
132
+ shares_dst: "100",
133
+ },
134
+ balance: "100",
135
+ },
136
+ ],
137
+ },
138
+ ],
139
+ pagination: {
140
+ next_key: null,
141
+ total: "1",
142
+ },
143
+ };
144
+ mockAxiosResponse(getApiResponseSinceSdk041);
145
+ const cosmosRedelegations = await cosmosApi.getRedelegations("cosmosDelegatorAddress");
146
+ expect(cosmosRedelegations[0].amount).toEqual(new BigNumber(100));
147
+ expect(cosmosRedelegations[0].completionDate).toEqual(new Date("2023-06-04T15:12:58.567Z"));
148
+ expect(cosmosRedelegations[0].validatorDstAddress).toEqual("cosmosValidatorDstAddress");
149
+ expect(cosmosRedelegations[0].validatorSrcAddress).toEqual("cosmosValidatorSrcAddress");
150
+ });
151
+ it("should return redelegations correctly (sdk v0.46/0.47)", async () => {
152
+ const getApiResponseSinceSdk046 = {
153
+ redelegation_responses: [
154
+ {
155
+ redelegation: {
156
+ delegator_address: "cosmosDelegatorAddress",
157
+ validator_src_address: "cosmosValidatorSrcAddress",
158
+ validator_dst_address: "cosmosValidatorDstAddress",
159
+ entries: null,
160
+ },
161
+ entries: [
162
+ {
163
+ redelegation_entry: {
164
+ creation_height: 42,
165
+ completion_time: "2024-04-29T09:38:35.273743543Z",
166
+ initial_balance: "100",
167
+ shares_dst: "100.000000000000000000",
168
+ unbonding_id: 394,
169
+ },
170
+ balance: "100",
171
+ },
172
+ ],
173
+ },
174
+ ],
175
+ pagination: { next_key: null, total: "1" },
176
+ };
177
+ mockAxiosResponse(getApiResponseSinceSdk046);
178
+ const cosmosRedelegations = await cosmosApi.getRedelegations("cosmosDelegatorAddress");
179
+ expect(cosmosRedelegations[0].amount).toEqual(new BigNumber(100));
180
+ expect(cosmosRedelegations[0].completionDate).toEqual(new Date("2024-04-29T09:38:35.273743543Z"));
181
+ expect(cosmosRedelegations[0].validatorDstAddress).toEqual("cosmosValidatorDstAddress");
182
+ expect(cosmosRedelegations[0].validatorSrcAddress).toEqual("cosmosValidatorSrcAddress");
183
+ });
184
+ it("should return no redelegations if there are none", async () => {
185
+ mockAxiosResponse({ redelegation_responses: [], pagination: { next_key: null, total: "0" } });
186
+ const cosmosRedelegations = await cosmosApi.getRedelegations("cosmosDelegatorAddress");
187
+ expect(cosmosRedelegations.length).toEqual(0);
188
+ });
189
+ });
190
+ describe("simulate", () => {
191
+ it("should return gas used when the network call returns gas used", async () => {
192
+ mockAxiosResponse({
193
+ gas_info: {
194
+ gas_used: 42000,
195
+ },
196
+ });
197
+ const gas = await cosmosApi.simulate([]);
198
+ expect(gas).toEqual(new BigNumber(42000));
199
+ });
200
+ it("should throw an error when the network call does not return gas used", async () => {
201
+ mockAxiosResponse({
202
+ gas_info: {},
203
+ });
204
+ await expect(cosmosApi.simulate([])).rejects.toThrowError();
205
+ });
206
+ it("should throw an error when the network call fails", async () => {
207
+ mockedNetwork.mockImplementation(() => {
208
+ throw new Error();
209
+ });
210
+ await expect(cosmosApi.simulate([])).rejects.toThrowError();
211
+ });
212
+ });
213
+ describe("getTransactions", () => {
214
+ it("should return both recipient and sender tx", async () => {
215
+ // @ts-expect-error method is mocked
216
+ network.mockImplementation((networkOptions) => {
217
+ if (networkOptions.url.includes("recipient")) {
218
+ return Promise.resolve({
219
+ data: {
220
+ pagination: { total: 1 },
221
+ tx_responses: [
222
+ {
223
+ txhash: "recipienthash",
224
+ },
225
+ ],
226
+ },
227
+ });
228
+ }
229
+ else if (networkOptions.url.includes("sender")) {
230
+ return Promise.resolve({
231
+ data: {
232
+ pagination: { total: 1 },
233
+ tx_responses: [
234
+ {
235
+ txhash: "senderhash",
236
+ },
237
+ ],
238
+ },
239
+ });
240
+ }
241
+ else if (networkOptions.url.includes("node_info")) {
242
+ return Promise.resolve({
243
+ data: {
244
+ application_version: {
245
+ cosmos_sdk_version: "0.44.0",
246
+ },
247
+ },
248
+ });
249
+ }
250
+ else {
251
+ return Promise.resolve({
252
+ data: {
253
+ pagination: { total: 0 },
254
+ tx_responses: [],
255
+ },
256
+ });
257
+ }
258
+ });
259
+ const txs = await cosmosApi.getTransactions("address", 50);
260
+ expect(txs.find(tx => tx.txhash === "senderhash")).toBeDefined();
261
+ expect(txs.find(tx => tx.txhash === "recipienthash")).toBeDefined();
262
+ expect(txs.length).toEqual(2);
263
+ });
264
+ it("should return every pages of transactions", async () => {
265
+ const simulatedTotal = 500;
266
+ // @ts-expect-error method is mocked
267
+ network.mockImplementation((networkOptions) => {
268
+ if (networkOptions.url.includes("recipient") || networkOptions.url.includes("sender")) {
269
+ const pageOffset = networkOptions.url
270
+ .split("pagination.offset=")[1]
271
+ .split("&")[0];
272
+ const pageSize = Number(networkOptions.url.split("pagination.limit=")[1].split("&")[0]);
273
+ return Promise.resolve({
274
+ data: {
275
+ pagination: { total: simulatedTotal },
276
+ tx_responses: Array(pageSize)
277
+ .fill({})
278
+ .map((_, i) => ({
279
+ txhash: `${pageOffset}_${i}`,
280
+ })),
281
+ },
282
+ });
283
+ }
284
+ else if (networkOptions.url.includes("node_info")) {
285
+ return Promise.resolve({
286
+ data: {
287
+ application_version: {
288
+ cosmos_sdk_version: "0.44.0",
289
+ },
290
+ },
291
+ });
292
+ }
293
+ });
294
+ const txs = await cosmosApi.getTransactions("address", 10);
295
+ // sender + recipient
296
+ expect(txs.length).toEqual(simulatedTotal * 2);
297
+ });
298
+ });
299
+ describe("fetchTransactions", () => {
300
+ const nodeUrl = "nodeURL";
301
+ const sender = "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp";
302
+ const pagination = {
303
+ limit: 100,
304
+ offset: 0,
305
+ reverse: true,
306
+ };
307
+ const mockNetworkTxsResponse = {
308
+ txs: [], // unused
309
+ tx_responses: [
310
+ {
311
+ height: "19827195",
312
+ txhash: "C4D4ED8F0E77DA1BB9CDA148F3500384AE6D2B14E3CBD338B866B79492AD3351",
313
+ codespace: "",
314
+ code: 0,
315
+ data: "12260A242F636F736D6F732E62616E6B2E763162657461312E4D736753656E64526573706F6E7365",
316
+ raw_log: "",
317
+ logs: [],
318
+ info: "",
319
+ gas_wanted: "79806",
320
+ gas_used: "70948",
321
+ tx: {
322
+ "@type": "/cosmos.tx.v1beta1.Tx",
323
+ body: {
324
+ messages: [
325
+ {
326
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
327
+ from_address: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
328
+ to_address: "cosmos1qzjgrqjy894jx3luxfamrt2nz4rwx7nl8djyw3",
329
+ amount: [{ denom: "uatom", amount: "100" }],
330
+ },
331
+ ],
332
+ memo: "",
333
+ timeout_height: "0",
334
+ extension_options: [],
335
+ non_critical_extension_options: [],
336
+ },
337
+ auth_info: {
338
+ signer_infos: [
339
+ {
340
+ public_key: {
341
+ "@type": "/cosmos.crypto.secp256k1.PubKey",
342
+ key: "AnvfR65YxO3gfGPcTY9Qc0EbJdwaqmC7W2oILWHpU+wp",
343
+ },
344
+ mode_info: { single: { mode: "SIGN_MODE_LEGACY_AMINO_JSON" } },
345
+ sequence: "0",
346
+ },
347
+ ],
348
+ fee: {
349
+ amount: [{ denom: "uatom", amount: "1996" }],
350
+ gas_limit: "79806",
351
+ payer: "",
352
+ granter: "",
353
+ },
354
+ tip: null,
355
+ },
356
+ signatures: [
357
+ "uAtttiPzG+VgDFTU1uZQ7Q7ijThbt/mhFegMHXsYvjh4WR9SFZ/iLWdvZrp+nX0LcJuflZ7ZGZwHO9ZH7yKMTg==",
358
+ ],
359
+ },
360
+ timestamp: "2024-04-02T17:03:53Z",
361
+ events: [
362
+ {
363
+ type: "coin_spent",
364
+ attributes: [
365
+ {
366
+ key: "spender",
367
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
368
+ index: true,
369
+ },
370
+ { key: "amount", value: "1996uatom", index: true },
371
+ ],
372
+ },
373
+ {
374
+ type: "coin_received",
375
+ attributes: [
376
+ {
377
+ key: "receiver",
378
+ value: "cosmos17xpfvakm2amg962yls6f84z3kell8c5lserqta",
379
+ index: true,
380
+ },
381
+ { key: "amount", value: "1996uatom", index: true },
382
+ ],
383
+ },
384
+ {
385
+ type: "transfer",
386
+ attributes: [
387
+ {
388
+ key: "recipient",
389
+ value: "cosmos17xpfvakm2amg962yls6f84z3kell8c5lserqta",
390
+ index: true,
391
+ },
392
+ {
393
+ key: "sender",
394
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
395
+ index: true,
396
+ },
397
+ { key: "amount", value: "1996uatom", index: true },
398
+ ],
399
+ },
400
+ {
401
+ type: "message",
402
+ attributes: [
403
+ {
404
+ key: "sender",
405
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
406
+ index: true,
407
+ },
408
+ ],
409
+ },
410
+ {
411
+ type: "tx",
412
+ attributes: [
413
+ { key: "fee", value: "1996uatom", index: true },
414
+ {
415
+ key: "fee_payer",
416
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
417
+ index: true,
418
+ },
419
+ ],
420
+ },
421
+ {
422
+ type: "tx",
423
+ attributes: [
424
+ {
425
+ key: "acc_seq",
426
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp/0",
427
+ index: true,
428
+ },
429
+ ],
430
+ },
431
+ {
432
+ type: "tx",
433
+ attributes: [
434
+ {
435
+ key: "signature",
436
+ value: "uAtttiPzG+VgDFTU1uZQ7Q7ijThbt/mhFegMHXsYvjh4WR9SFZ/iLWdvZrp+nX0LcJuflZ7ZGZwHO9ZH7yKMTg==",
437
+ index: true,
438
+ },
439
+ ],
440
+ },
441
+ {
442
+ type: "message",
443
+ attributes: [
444
+ { key: "action", value: "/cosmos.bank.v1beta1.MsgSend", index: true },
445
+ {
446
+ key: "sender",
447
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
448
+ index: true,
449
+ },
450
+ { key: "module", value: "bank", index: true },
451
+ ],
452
+ },
453
+ {
454
+ type: "coin_spent",
455
+ attributes: [
456
+ {
457
+ key: "spender",
458
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
459
+ index: true,
460
+ },
461
+ { key: "amount", value: "100uatom", index: true },
462
+ ],
463
+ },
464
+ {
465
+ type: "coin_received",
466
+ attributes: [
467
+ {
468
+ key: "receiver",
469
+ value: "cosmos1qzjgrqjy894jx3luxfamrt2nz4rwx7nl8djyw3",
470
+ index: true,
471
+ },
472
+ { key: "amount", value: "100uatom", index: true },
473
+ ],
474
+ },
475
+ {
476
+ type: "transfer",
477
+ attributes: [
478
+ {
479
+ key: "recipient",
480
+ value: "cosmos1qzjgrqjy894jx3luxfamrt2nz4rwx7nl8djyw3",
481
+ index: true,
482
+ },
483
+ {
484
+ key: "sender",
485
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
486
+ index: true,
487
+ },
488
+ { key: "amount", value: "100uatom", index: true },
489
+ ],
490
+ },
491
+ {
492
+ type: "message",
493
+ attributes: [
494
+ {
495
+ key: "sender",
496
+ value: "cosmos1mzuuwf9djp25vkcjwc08g3tjsv64d94zj3txfp",
497
+ index: true,
498
+ },
499
+ ],
500
+ },
501
+ ],
502
+ },
503
+ ],
504
+ pagination: null,
505
+ total: "1",
506
+ };
507
+ const expectedTxs = {
508
+ txs: mockNetworkTxsResponse.tx_responses,
509
+ total: "1",
510
+ };
511
+ it("should fetch a pre v0.47 payload", async () => {
512
+ // @ts-expect-error method is mocked
513
+ network.mockImplementation(({ url }) => {
514
+ if (url ===
515
+ `${nodeUrl}/cosmos/tx/v1beta1/txs?events=message.sender='${sender}'&pagination.limit=${pagination.limit}&pagination.offset=${pagination.offset}&pagination.reverse=${pagination.reverse}`) {
516
+ return {
517
+ data: mockNetworkTxsResponse,
518
+ };
519
+ }
520
+ else if (url.includes("node_info")) {
521
+ return Promise.resolve({
522
+ data: {
523
+ application_version: {
524
+ cosmos_sdk_version: "0.44.0",
525
+ },
526
+ },
527
+ });
528
+ }
529
+ });
530
+ // using as object to access private method
531
+ const result = await cosmosApi["fetchTransactions"](nodeUrl, "message.sender", sender, {
532
+ "pagination.limit": pagination.limit,
533
+ "pagination.offset": pagination.offset,
534
+ "pagination.reverse": pagination.reverse,
535
+ });
536
+ expect(result).toEqual(expectedTxs);
537
+ });
538
+ it("should fetch a v0.50 payload", async () => {
539
+ // @ts-expect-error method is mocked
540
+ network.mockImplementation(({ url }) => {
541
+ if (url ===
542
+ `${nodeUrl}/cosmos/tx/v1beta1/txs?query=message.sender='${sender}'&pagination.limit=${pagination.limit}&pagination.offset=${pagination.offset}&pagination.reverse=${pagination.reverse}`) {
543
+ return {
544
+ data: mockNetworkTxsResponse,
545
+ };
546
+ }
547
+ else if (url.includes("node_info")) {
548
+ return Promise.resolve({
549
+ data: {
550
+ application_version: {
551
+ cosmos_sdk_version: "0.50.0",
552
+ },
553
+ },
554
+ });
555
+ }
556
+ });
557
+ // using as object to access private method
558
+ const result = await cosmosApi["fetchTransactions"](nodeUrl, "message.sender", sender, {
559
+ "pagination.limit": pagination.limit,
560
+ "pagination.offset": pagination.offset,
561
+ "pagination.reverse": pagination.reverse,
562
+ });
563
+ expect(result).toEqual(expectedTxs);
564
+ });
565
+ });
566
+ describe("broadcastTransaction", () => {
567
+ it("should throw a SequenceNumberError exception in case of sequence number error", async () => {
568
+ mockAxiosResponse({ tx_response: { code: 32 } });
569
+ await expect(cosmosApi.broadcast({
570
+ signedOperation: { operation: {}, signature: "signedOperation" },
571
+ })).rejects.toThrow("SequenceNumberError");
572
+ });
573
+ });
574
+ });
575
+ //# sourceMappingURL=Cosmos.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cosmos.unit.test.js","sourceRoot":"","sources":["../../src/network/Cosmos.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prepareTransaction.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareTransaction.unit.test.d.ts","sourceRoot":"","sources":["../src/prepareTransaction.unit.test.ts"],"names":[],"mappings":""}