@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,639 @@
1
+ import BigNumber from "bignumber.js";
2
+ import * as jsHelpers from "@ledgerhq/coin-framework/bridge/jsHelpers";
3
+ import { CosmosAPI } from "./network/Cosmos";
4
+ import { getAccountShape } from "./synchronisation";
5
+ jest.mock("./network/Cosmos");
6
+ jest.mock("@ledgerhq/coin-framework/account");
7
+ jest.mock("@ledgerhq/coin-framework/bridge/jsHelpers");
8
+ const infoMock = {
9
+ currency: {
10
+ units: [{}, { code: "uatom" }],
11
+ },
12
+ address: "address",
13
+ index: 0,
14
+ };
15
+ const baseAccountInfoMock = {
16
+ txs: [],
17
+ delegations: [],
18
+ unbondings: [],
19
+ balances: new BigNumber(0),
20
+ accountInfo: { sequence: 0, accountNumber: 0 },
21
+ };
22
+ const baseTxMock = {
23
+ logs: [],
24
+ txhash: "2",
25
+ tx: {
26
+ auth_info: {
27
+ signer_infos: [{ sequence: "seq" }],
28
+ fee: { amount: [{ denom: "uatom", amount: new BigNumber(1) }] },
29
+ },
30
+ },
31
+ };
32
+ const syncConfig = {};
33
+ function mockAccountInfo(partialMock) {
34
+ // @ts-expect-error mocked
35
+ CosmosAPI.mockReturnValueOnce({
36
+ getAccountInfo: jest.fn().mockResolvedValue({ ...baseAccountInfoMock, ...partialMock }),
37
+ });
38
+ }
39
+ function mockCosmosTx(tx) {
40
+ return {
41
+ events: [
42
+ {
43
+ type: "withdraw_rewards",
44
+ attributes: [
45
+ {
46
+ key: "amount",
47
+ value: "10uatom",
48
+ },
49
+ {
50
+ key: "validator",
51
+ value: "validatorAddressHehe",
52
+ },
53
+ ],
54
+ },
55
+ ],
56
+ logs: [],
57
+ txhash: "2",
58
+ tx: {
59
+ "@type": "/cosmos.tx.v1beta1.Tx",
60
+ body: {
61
+ messages: [
62
+ {
63
+ "@type": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
64
+ delegator_address: "address",
65
+ validator_address: "validatorAddressHehe",
66
+ },
67
+ ],
68
+ memo: "Ledger Live",
69
+ timeout_height: "0",
70
+ extension_options: [],
71
+ non_critical_extension_options: [],
72
+ },
73
+ auth_info: {
74
+ signer_infos: [{ sequence: "seq" }],
75
+ fee: { amount: [{ denom: "uatom", amount: new BigNumber(0) }] },
76
+ },
77
+ },
78
+ code: 0,
79
+ ...tx,
80
+ };
81
+ }
82
+ describe("getAccountShape", () => {
83
+ let mergeOpsSpy;
84
+ beforeEach(() => {
85
+ // @ts-expect-error mocked
86
+ CosmosAPI.mockClear();
87
+ mergeOpsSpy = jest
88
+ .spyOn(jsHelpers, "mergeOps")
89
+ .mockImplementation((existing, newlyFetched) => [
90
+ ...existing,
91
+ ...newlyFetched,
92
+ ]);
93
+ });
94
+ afterEach(() => {
95
+ mergeOpsSpy.mockReset();
96
+ });
97
+ it("should sum up delegations to balance", async () => {
98
+ mockAccountInfo({
99
+ balances: new BigNumber(1),
100
+ delegations: [{ amount: new BigNumber(2) }],
101
+ });
102
+ const account = await getAccountShape(infoMock, syncConfig);
103
+ expect(account.balance).toEqual(new BigNumber(3));
104
+ });
105
+ it("should sum up delegation balances and assign it in cosmosResources delegatedBalances", async () => {
106
+ mockAccountInfo({
107
+ delegations: [{ amount: new BigNumber(1) }, { amount: new BigNumber(2) }],
108
+ });
109
+ const account = await getAccountShape(infoMock, syncConfig);
110
+ expect(account.cosmosResources.delegatedBalance).toEqual(new BigNumber(3));
111
+ });
112
+ it("should sum up unbondings to balance", async () => {
113
+ mockAccountInfo({
114
+ balances: new BigNumber(2),
115
+ unbondings: [{ amount: new BigNumber(3) }],
116
+ });
117
+ const account = await getAccountShape(infoMock, syncConfig);
118
+ expect(account.balance).toEqual(new BigNumber(5));
119
+ });
120
+ it("estimate spendable balance correctly", async () => {
121
+ // Shouldn't it be 97 ?
122
+ mockAccountInfo({
123
+ balances: new BigNumber(100),
124
+ unbondings: [{ amount: new BigNumber(1) }],
125
+ delegations: [{ amount: new BigNumber(2) }],
126
+ });
127
+ const account = await getAccountShape(infoMock, syncConfig);
128
+ expect(account.spendableBalance).toEqual(new BigNumber(100));
129
+ });
130
+ it("should reduce balance to 0 if spendable balance is negative", async () => {
131
+ mockAccountInfo({
132
+ balances: new BigNumber(-10),
133
+ });
134
+ const account = await getAccountShape(infoMock, syncConfig);
135
+ expect(account.spendableBalance).toEqual(new BigNumber(0));
136
+ });
137
+ it("should sum up pendingRewards and insert it in cosmosResources", async () => {
138
+ mockAccountInfo({
139
+ delegations: [
140
+ {
141
+ pendingRewards: new BigNumber(1),
142
+ },
143
+ {
144
+ pendingRewards: new BigNumber(2),
145
+ },
146
+ ],
147
+ });
148
+ const account = await getAccountShape(infoMock, syncConfig);
149
+ expect(account.cosmosResources.pendingRewardsBalance).toEqual(new BigNumber(3));
150
+ });
151
+ it("set spendable balance to 0 if spendable balance is negative in initial account", async () => {
152
+ mockAccountInfo({});
153
+ const account = await getAccountShape({
154
+ ...infoMock,
155
+ initialAccount: {
156
+ spendableBalance: new BigNumber(-10),
157
+ },
158
+ }, syncConfig);
159
+ expect(account.spendableBalance).toEqual(new BigNumber(0));
160
+ });
161
+ it("should estimate operations count correctly", async () => {
162
+ mockAccountInfo({});
163
+ const account = await getAccountShape({
164
+ ...infoMock,
165
+ initialAccount: {
166
+ operations: [{}, {}],
167
+ },
168
+ }, syncConfig);
169
+ expect(account.operationsCount).toEqual(2);
170
+ });
171
+ it("should merge old operations with newly fetched ones", async () => {
172
+ const existingOperations = [{ hash: "3", id: "3" }];
173
+ mockAccountInfo({});
174
+ await getAccountShape({
175
+ ...infoMock,
176
+ initialAccount: {
177
+ operations: existingOperations,
178
+ },
179
+ }, syncConfig);
180
+ expect(mergeOpsSpy.mock.calls[0][0]).toEqual(existingOperations);
181
+ });
182
+ it("should add newly fetched operations", async () => {
183
+ mockAccountInfo({ txs: [mockCosmosTx({})] });
184
+ await getAccountShape(infoMock, syncConfig);
185
+ expect(mergeOpsSpy.mock.calls[0][1]).toBeTruthy();
186
+ });
187
+ it("should get the memo correctly", async () => {
188
+ mockAccountInfo({ txs: [mockCosmosTx({})] });
189
+ const account = await getAccountShape(infoMock, syncConfig);
190
+ expect(account.operations[0].extra.memo).toEqual("Ledger Live");
191
+ });
192
+ it("should list claim reward operations correctly with one delegation", async () => {
193
+ mockAccountInfo({
194
+ txs: [
195
+ mockCosmosTx({
196
+ events: [
197
+ {
198
+ type: "withdraw_rewards",
199
+ attributes: [
200
+ {
201
+ key: "amount",
202
+ value: "3uatom",
203
+ },
204
+ {
205
+ key: "validator",
206
+ value: "validatorAddressNumeroUno",
207
+ },
208
+ ],
209
+ },
210
+ ],
211
+ logs: [],
212
+ tx: {
213
+ "@type": "/cosmos.tx.v1beta1.Tx",
214
+ body: {
215
+ messages: [
216
+ {
217
+ "@type": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
218
+ delegator_address: "address",
219
+ validator_address: "cosmosvaloper1crqm3598z6qmyn2kkcl9dz7uqs4qdqnr6s8jdn",
220
+ },
221
+ ],
222
+ memo: "Ledger Live",
223
+ timeout_height: "0",
224
+ extension_options: [],
225
+ non_critical_extension_options: [],
226
+ },
227
+ auth_info: {
228
+ signer_infos: [{ sequence: "seq" }],
229
+ fee: { amount: [{ denom: "uatom", amount: new BigNumber(0) }] },
230
+ },
231
+ signatures: [],
232
+ },
233
+ }),
234
+ ],
235
+ });
236
+ const account = await getAccountShape(infoMock, syncConfig);
237
+ expect(account.operations[0].value).toEqual(new BigNumber(3));
238
+ expect(account.operations[0].extra.validators).toEqual([
239
+ {
240
+ address: "validatorAddressNumeroUno",
241
+ amount: new BigNumber(3),
242
+ },
243
+ ]);
244
+ });
245
+ it("should list claim reward operations correctly with multiple delegations", async () => {
246
+ mockAccountInfo({
247
+ txs: [
248
+ mockCosmosTx({
249
+ events: [
250
+ {
251
+ type: "withdraw_rewards",
252
+ attributes: [
253
+ {
254
+ key: "amount",
255
+ value: "10uatom",
256
+ },
257
+ {
258
+ key: "validator",
259
+ value: "validatorAddressHehe",
260
+ },
261
+ ],
262
+ },
263
+ {
264
+ type: "withdraw_rewards",
265
+ attributes: [
266
+ {
267
+ key: "amount",
268
+ value: "5uatom",
269
+ },
270
+ {
271
+ key: "validator",
272
+ value: "validatorAddressTwo",
273
+ },
274
+ ],
275
+ },
276
+ {
277
+ type: "withdraw_rewards",
278
+ attributes: [
279
+ {
280
+ key: "amount",
281
+ value: "56ibc/0025F8A87464A471E66B234C4F93AEC5B4DA3D42D7986451A059273426290DD5,512ibc/6B8A3F5C2AD51CD6171FA41A7E8C35AD594AB69226438DB94450436EA57B3A89,7uatom",
282
+ },
283
+ {
284
+ key: "validator",
285
+ value: "validatorAddressThree",
286
+ },
287
+ ],
288
+ },
289
+ ],
290
+ tx: {
291
+ "@type": "/cosmos.tx.v1beta1.Tx",
292
+ body: {
293
+ messages: [
294
+ {
295
+ "@type": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
296
+ delegator_address: "address",
297
+ validator_address: "validatorAddressHehe",
298
+ },
299
+ {
300
+ "@type": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
301
+ delegator_address: "address",
302
+ validator_address: "validatorAddressTwo",
303
+ },
304
+ {
305
+ "@type": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",
306
+ delegator_address: "address",
307
+ validator_address: "validatorAddressThree",
308
+ },
309
+ ],
310
+ memo: "Ledger Live",
311
+ timeout_height: "0",
312
+ extension_options: [],
313
+ non_critical_extension_options: [],
314
+ },
315
+ auth_info: {
316
+ signer_infos: [{ sequence: "seq" }],
317
+ fee: { amount: [{ denom: "uatom", amount: new BigNumber(0) }] },
318
+ },
319
+ signatures: [],
320
+ },
321
+ }),
322
+ ],
323
+ });
324
+ const account = await getAccountShape(infoMock, syncConfig);
325
+ expect(account.operations[0].value).toEqual(new BigNumber(22));
326
+ expect(account.operations[0].extra.validators).toEqual([
327
+ {
328
+ address: "validatorAddressHehe",
329
+ amount: new BigNumber(10),
330
+ },
331
+ {
332
+ address: "validatorAddressTwo",
333
+ amount: new BigNumber(5),
334
+ },
335
+ {
336
+ address: "validatorAddressThree",
337
+ amount: new BigNumber(7),
338
+ },
339
+ ]);
340
+ });
341
+ it("should parse an operation correctly when the operation failed)", async () => {
342
+ const failedOperation = mockCosmosTx({
343
+ tx: {
344
+ "@type": "/cosmos.tx.v1beta1.Tx",
345
+ body: {
346
+ messages: [
347
+ {
348
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
349
+ from_address: "address",
350
+ to_address: "cosmos1lptvx486j7630632q3ah0dwq20ghdrpxgl8xzg",
351
+ amount: [
352
+ {
353
+ denom: "uatom",
354
+ amount: "10000",
355
+ },
356
+ ],
357
+ },
358
+ ],
359
+ memo: "",
360
+ timeout_height: "0",
361
+ extension_options: [],
362
+ non_critical_extension_options: [],
363
+ },
364
+ auth_info: baseTxMock.tx.auth_info,
365
+ },
366
+ code: 11,
367
+ });
368
+ mockAccountInfo({
369
+ txs: [failedOperation],
370
+ });
371
+ const account = await getAccountShape(infoMock, syncConfig);
372
+ expect(account.operations[0].value).toEqual(new BigNumber(10001)); // 10000(amount) + 1(fees)
373
+ expect(account.operations[0].type).toEqual("OUT");
374
+ expect(account.operations[0].hasFailed).toEqual(true);
375
+ });
376
+ it("should parse an operation correctly with multiple transfers(received operations)", async () => {
377
+ mockAccountInfo({
378
+ txs: [
379
+ mockCosmosTx({
380
+ tx: {
381
+ "@type": "/cosmos.tx.v1beta1.Tx",
382
+ body: {
383
+ messages: [
384
+ {
385
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
386
+ from_address: "cosmos1lptvx486j7630632q3ah0dwq20ghdrpxgl8xzg",
387
+ to_address: "address",
388
+ amount: [
389
+ {
390
+ denom: "uatom",
391
+ amount: "5",
392
+ },
393
+ ],
394
+ },
395
+ {
396
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
397
+ from_address: "cosmos1lptvx486j7630632q3ah0dwq20ghdrpxgl8xzg",
398
+ to_address: "address",
399
+ amount: [
400
+ {
401
+ denom: "uatom",
402
+ amount: "6",
403
+ },
404
+ ],
405
+ },
406
+ ],
407
+ memo: "",
408
+ timeout_height: "0",
409
+ extension_options: [],
410
+ non_critical_extension_options: [],
411
+ },
412
+ auth_info: baseTxMock.tx.auth_info,
413
+ },
414
+ }),
415
+ ],
416
+ });
417
+ const account = await getAccountShape(infoMock, syncConfig);
418
+ expect(account.operations[0].value).toEqual(new BigNumber(11)); // 5 + 6
419
+ expect(account.operations[0].type).toEqual("IN");
420
+ });
421
+ it("should parse an operation correctly with multiple transfers(sent operations)", async () => {
422
+ mockAccountInfo({
423
+ txs: [
424
+ mockCosmosTx({
425
+ tx: {
426
+ "@type": "/cosmos.tx.v1beta1.Tx",
427
+ body: {
428
+ messages: [
429
+ {
430
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
431
+ from_address: "address",
432
+ to_address: "cosmos1lptvx486j7630632q3ah0dwq20ghdrpxgl8xzg",
433
+ amount: [
434
+ {
435
+ denom: "uatom",
436
+ amount: "5",
437
+ },
438
+ ],
439
+ },
440
+ {
441
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
442
+ from_address: "address",
443
+ to_address: "cosmos1lptvx486j7630632q3ah0dwq20ghdrpxgl8xzg",
444
+ amount: [
445
+ {
446
+ denom: "uatom",
447
+ amount: "6",
448
+ },
449
+ ],
450
+ },
451
+ ],
452
+ memo: "",
453
+ timeout_height: "0",
454
+ extension_options: [],
455
+ non_critical_extension_options: [],
456
+ },
457
+ auth_info: baseTxMock.tx.auth_info,
458
+ },
459
+ }),
460
+ ],
461
+ });
462
+ const account = await getAccountShape(infoMock, syncConfig);
463
+ expect(account.operations[0].value).toEqual(new BigNumber(12)); // 5 + 6 + 1(fees)
464
+ expect(account.operations[0].type).toEqual("OUT");
465
+ });
466
+ it("should parse an operation correctly with multiple delegations", async () => {
467
+ mockAccountInfo({
468
+ txs: [
469
+ mockCosmosTx({
470
+ tx: {
471
+ body: {
472
+ memo: "memo",
473
+ messages: [
474
+ {
475
+ "@type": "/cosmos.staking.v1beta1.MsgDelegate",
476
+ delegator_address: "address",
477
+ validator_address: "address1",
478
+ amount: {
479
+ denom: "uatom",
480
+ amount: "5",
481
+ },
482
+ },
483
+ {
484
+ "@type": "/cosmos.staking.v1beta1.MsgDelegate",
485
+ delegator_address: "address",
486
+ validator_address: "address2",
487
+ amount: {
488
+ denom: "uatom",
489
+ amount: "6",
490
+ },
491
+ },
492
+ ],
493
+ },
494
+ auth_info: baseTxMock.tx.auth_info,
495
+ },
496
+ }),
497
+ ],
498
+ });
499
+ const account = await getAccountShape(infoMock, syncConfig);
500
+ expect(account.operations[0].value).toEqual(new BigNumber(1)); // fees
501
+ expect(account.operations[0].type).toEqual("DELEGATE");
502
+ expect(account.operations[0].extra.validators).toEqual([
503
+ {
504
+ address: "address1",
505
+ amount: new BigNumber(5),
506
+ },
507
+ {
508
+ address: "address2",
509
+ amount: new BigNumber(6),
510
+ },
511
+ ]);
512
+ });
513
+ it("should parse an operation correctly with multiple redelegate", async () => {
514
+ mockAccountInfo({
515
+ txs: [
516
+ mockCosmosTx({
517
+ tx: {
518
+ body: {
519
+ memo: "memo",
520
+ messages: [
521
+ {
522
+ "@type": "/cosmos.staking.v1beta1.MsgBeginRedelegate",
523
+ delegator_address: "address",
524
+ validator_src_address: "address_src",
525
+ validator_dst_address: "address1",
526
+ amount: {
527
+ denom: "uatom",
528
+ amount: "5",
529
+ },
530
+ },
531
+ {
532
+ "@type": "/cosmos.staking.v1beta1.MsgBeginRedelegate",
533
+ delegator_address: "address",
534
+ validator_src_address: "address_src",
535
+ validator_dst_address: "address2",
536
+ amount: {
537
+ denom: "uatom",
538
+ amount: "6",
539
+ },
540
+ },
541
+ ],
542
+ },
543
+ auth_info: baseTxMock.tx.auth_info,
544
+ },
545
+ }),
546
+ ],
547
+ });
548
+ const account = await getAccountShape(infoMock, syncConfig);
549
+ expect(account.operations[0].value).toEqual(new BigNumber(1)); // fees
550
+ expect(account.operations[0].type).toEqual("REDELEGATE");
551
+ expect(account.operations[0].extra.sourceValidator).toEqual("address_src");
552
+ expect(account.operations[0].extra.validators).toEqual([
553
+ {
554
+ address: "address1",
555
+ amount: new BigNumber(5),
556
+ },
557
+ {
558
+ address: "address2",
559
+ amount: new BigNumber(6),
560
+ },
561
+ ]);
562
+ });
563
+ it("should parse an operation correctly with multiple unredelegate", async () => {
564
+ mockAccountInfo({
565
+ txs: [
566
+ mockCosmosTx({
567
+ tx: {
568
+ body: {
569
+ memo: "memo",
570
+ messages: [
571
+ {
572
+ "@type": "/cosmos.staking.v1beta1.MsgUndelegate",
573
+ delegator_address: "address",
574
+ validator_address: "address1",
575
+ amount: {
576
+ denom: "uatom",
577
+ amount: "5",
578
+ },
579
+ },
580
+ {
581
+ "@type": "/cosmos.staking.v1beta1.MsgUndelegate",
582
+ delegator_address: "address",
583
+ validator_address: "address2",
584
+ amount: {
585
+ denom: "uatom",
586
+ amount: "6",
587
+ },
588
+ },
589
+ ],
590
+ },
591
+ auth_info: baseTxMock.tx.auth_info,
592
+ },
593
+ }),
594
+ ],
595
+ });
596
+ const account = await getAccountShape(infoMock, syncConfig);
597
+ expect(account.operations[0].value).toEqual(new BigNumber(1)); // fees
598
+ expect(account.operations[0].type).toEqual("UNDELEGATE");
599
+ expect(account.operations[0].extra.validators).toEqual([
600
+ {
601
+ address: "address1",
602
+ amount: new BigNumber(5),
603
+ },
604
+ {
605
+ address: "address2",
606
+ amount: new BigNumber(6),
607
+ },
608
+ ]);
609
+ });
610
+ it("should parse an operation correctly with missing auth_info", async () => {
611
+ mockAccountInfo({
612
+ txs: [
613
+ mockCosmosTx({
614
+ tx: {
615
+ body: {
616
+ memo: "memo",
617
+ messages: [
618
+ {
619
+ "@type": "/cosmos.bank.v1beta1.MsgSend",
620
+ from_address: "address",
621
+ to_address: "cosmos1lptvx486j7630632q3ah0dwq20ghdrpxgl8xzg",
622
+ amount: [
623
+ {
624
+ denom: "uatom",
625
+ amount: "5",
626
+ },
627
+ ],
628
+ },
629
+ ],
630
+ },
631
+ },
632
+ }),
633
+ ],
634
+ });
635
+ const account = await getAccountShape(infoMock, syncConfig);
636
+ expect(account.operations[0].value).toBeDefined();
637
+ });
638
+ });
639
+ //# sourceMappingURL=synchronisation.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronisation.unit.test.js","sourceRoot":"","sources":["../src/synchronisation.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AddressValidationCurrencyParameters } from "@ledgerhq/types-live";
2
+ export declare function validateAddress(address: string, parameters: Partial<AddressValidationCurrencyParameters>): Promise<boolean>;
3
+ //# sourceMappingURL=validateAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAddress.d.ts","sourceRoot":"","sources":["../src/validateAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAK3E,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,CAAC,mCAAmC,CAAC,GACvD,OAAO,CAAC,OAAO,CAAC,CAkBlB"}