@ledgerhq/coin-cosmos 0.18.0-nightly.6 → 0.18.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 (75) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/package.json +8 -8
  4. package/lib/bridge/index.test.d.ts +0 -2
  5. package/lib/bridge/index.test.d.ts.map +0 -1
  6. package/lib/bridge/index.test.js +0 -68
  7. package/lib/bridge/index.test.js.map +0 -1
  8. package/lib/buildTransaction.unit.test.d.ts +0 -2
  9. package/lib/buildTransaction.unit.test.d.ts.map +0 -1
  10. package/lib/buildTransaction.unit.test.js +0 -736
  11. package/lib/buildTransaction.unit.test.js.map +0 -1
  12. package/lib/chain/chain.unit.test.d.ts +0 -2
  13. package/lib/chain/chain.unit.test.d.ts.map +0 -1
  14. package/lib/chain/chain.unit.test.js +0 -41
  15. package/lib/chain/chain.unit.test.js.map +0 -1
  16. package/lib/helpers.unit.test.d.ts +0 -2
  17. package/lib/helpers.unit.test.d.ts.map +0 -1
  18. package/lib/helpers.unit.test.js +0 -65
  19. package/lib/helpers.unit.test.js.map +0 -1
  20. package/lib/network/Cosmos.unit.test.d.ts +0 -2
  21. package/lib/network/Cosmos.unit.test.d.ts.map +0 -1
  22. package/lib/network/Cosmos.unit.test.js +0 -580
  23. package/lib/network/Cosmos.unit.test.js.map +0 -1
  24. package/lib/prepareTransaction.unit.test.d.ts +0 -2
  25. package/lib/prepareTransaction.unit.test.d.ts.map +0 -1
  26. package/lib/prepareTransaction.unit.test.js +0 -159
  27. package/lib/prepareTransaction.unit.test.js.map +0 -1
  28. package/lib/synchronisation.integ.test.d.ts +0 -2
  29. package/lib/synchronisation.integ.test.d.ts.map +0 -1
  30. package/lib/synchronisation.integ.test.js +0 -233
  31. package/lib/synchronisation.integ.test.js.map +0 -1
  32. package/lib/synchronisation.test.d.ts +0 -2
  33. package/lib/synchronisation.test.d.ts.map +0 -1
  34. package/lib/synchronisation.test.js +0 -65
  35. package/lib/synchronisation.test.js.map +0 -1
  36. package/lib/synchronisation.unit.test.d.ts +0 -2
  37. package/lib/synchronisation.unit.test.d.ts.map +0 -1
  38. package/lib/synchronisation.unit.test.js +0 -667
  39. package/lib/synchronisation.unit.test.js.map +0 -1
  40. package/lib-es/bridge/index.test.d.ts +0 -2
  41. package/lib-es/bridge/index.test.d.ts.map +0 -1
  42. package/lib-es/bridge/index.test.js +0 -66
  43. package/lib-es/bridge/index.test.js.map +0 -1
  44. package/lib-es/buildTransaction.unit.test.d.ts +0 -2
  45. package/lib-es/buildTransaction.unit.test.d.ts.map +0 -1
  46. package/lib-es/buildTransaction.unit.test.js +0 -731
  47. package/lib-es/buildTransaction.unit.test.js.map +0 -1
  48. package/lib-es/chain/chain.unit.test.d.ts +0 -2
  49. package/lib-es/chain/chain.unit.test.d.ts.map +0 -1
  50. package/lib-es/chain/chain.unit.test.js +0 -36
  51. package/lib-es/chain/chain.unit.test.js.map +0 -1
  52. package/lib-es/helpers.unit.test.d.ts +0 -2
  53. package/lib-es/helpers.unit.test.d.ts.map +0 -1
  54. package/lib-es/helpers.unit.test.js +0 -63
  55. package/lib-es/helpers.unit.test.js.map +0 -1
  56. package/lib-es/network/Cosmos.unit.test.d.ts +0 -2
  57. package/lib-es/network/Cosmos.unit.test.d.ts.map +0 -1
  58. package/lib-es/network/Cosmos.unit.test.js +0 -575
  59. package/lib-es/network/Cosmos.unit.test.js.map +0 -1
  60. package/lib-es/prepareTransaction.unit.test.d.ts +0 -2
  61. package/lib-es/prepareTransaction.unit.test.d.ts.map +0 -1
  62. package/lib-es/prepareTransaction.unit.test.js +0 -131
  63. package/lib-es/prepareTransaction.unit.test.js.map +0 -1
  64. package/lib-es/synchronisation.integ.test.d.ts +0 -2
  65. package/lib-es/synchronisation.integ.test.d.ts.map +0 -1
  66. package/lib-es/synchronisation.integ.test.js +0 -205
  67. package/lib-es/synchronisation.integ.test.js.map +0 -1
  68. package/lib-es/synchronisation.test.d.ts +0 -2
  69. package/lib-es/synchronisation.test.d.ts.map +0 -1
  70. package/lib-es/synchronisation.test.js +0 -60
  71. package/lib-es/synchronisation.test.js.map +0 -1
  72. package/lib-es/synchronisation.unit.test.d.ts +0 -2
  73. package/lib-es/synchronisation.unit.test.d.ts.map +0 -1
  74. package/lib-es/synchronisation.unit.test.js +0 -639
  75. package/lib-es/synchronisation.unit.test.js.map +0 -1
@@ -1,639 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronisation.unit.test.js","sourceRoot":"","sources":["../src/synchronisation.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,2CAA2C,CAAC;AAIvE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC9B,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;AAC9C,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;AAEvD,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACb;IACnB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,CAAC;CAC0B,CAAC;AAErC,MAAM,mBAAmB,GAAG;IAC1B,GAAG,EAAE,EAAE;IACP,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;CAC/C,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,GAAG;IACX,EAAE,EAAE;QACF,SAAS,EAAE;YACT,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACnC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAChE;KACF;CACF,CAAC;AAEF,MAAM,UAAU,GAAG,EAAgB,CAAC;AAEpC,SAAS,eAAe,CACtB,WAKE;IAEF,0BAA0B;IAC1B,SAAS,CAAC,mBAAmB,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,mBAAmB,EAAE,GAAG,WAAW,EAAE,CAAC;KACxF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAqB;IACzC,OAAO;QACL,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,kBAAkB;gBACxB,UAAU,EAAE;oBACV;wBACE,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE,SAAS;qBACjB;oBACD;wBACE,GAAG,EAAE,WAAW;wBAChB,KAAK,EAAE,sBAAsB;qBAC9B;iBACF;aACF;SACF;QACD,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,GAAG;QACX,EAAE,EAAE;YACF,OAAO,EAAE,uBAAuB;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR;wBACE,OAAO,EAAE,yDAAyD;wBAClE,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,sBAAsB;qBAC1C;iBACF;gBACD,IAAI,EAAE,aAAa;gBACnB,cAAc,EAAE,GAAG;gBACnB,iBAAiB,EAAE,EAAE;gBACrB,8BAA8B,EAAE,EAAE;aACnC;YACD,SAAS,EAAE;gBACT,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACnC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aAChE;SACF;QACD,IAAI,EAAE,CAAC;QACP,GAAG,EAAE;KACiB,CAAC;AAC3B,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,WAA6B,CAAC;IAClC,UAAU,CAAC,GAAG,EAAE;QACd,0BAA0B;QAC1B,SAAS,CAAC,SAAS,EAAE,CAAC;QACtB,WAAW,GAAG,IAAI;aACf,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;aAC5B,kBAAkB,CAAC,CAAC,QAAqB,EAAE,YAAyB,EAAe,EAAE,CAAC;YACrF,GAAG,QAAQ;YACX,GAAG,YAAY;SAChB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,eAAe,CAAC;YACd,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;YAC1B,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,eAAe,CAAC;YACd,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAyB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,eAAe,CAAC;YACd,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;YAC1B,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,uBAAuB;QACvB,eAAe,CAAC;YACd,QAAQ,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;YAC5B,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,eAAe,CAAC;YACd,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,eAAe,CAAC;YACd,WAAW,EAAE;gBACX;oBACE,cAAc,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;iBACjC;gBACD;oBACE,cAAc,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;iBACjC;aACF;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAyB,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAC9E,IAAI,SAAS,CAAC,CAAC,CAAC,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC;YACE,GAAG,QAAQ;YACX,cAAc,EAAE;gBACd,gBAAgB,EAAE,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC;aACpB;SACnB,EACD,UAAU,CACX,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC;YACE,GAAG,QAAQ;YACX,cAAc,EAAE;gBACd,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;aACJ;SACnB,EACD,UAAU,CACX,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACpD,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,MAAM,eAAe,CACnB;YACE,GAAG,QAAQ;YACX,cAAc,EAAE;gBACd,UAAU,EAAE,kBAAkB;aACd;SACnB,EACD,UAAU,CACX,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,kBAAkB;4BACxB,UAAU,EAAE;gCACV;oCACE,GAAG,EAAE,QAAQ;oCACb,KAAK,EAAE,QAAQ;iCAChB;gCACD;oCACE,GAAG,EAAE,WAAW;oCAChB,KAAK,EAAE,2BAA2B;iCACnC;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE,EAAE;oBACR,EAAE,EAAE;wBACF,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE;4BACJ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,yDAAyD;oCAClE,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,sDAAsD;iCAC1E;6BACF;4BACD,IAAI,EAAE,aAAa;4BACnB,cAAc,EAAE,GAAG;4BACnB,iBAAiB,EAAE,EAAE;4BACrB,8BAA8B,EAAE,EAAE;yBACnC;wBACD,SAAS,EAAE;4BACT,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;4BACnC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;yBAChE;wBACD,UAAU,EAAE,EAAE;qBACf;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC5E;gBACE,OAAO,EAAE,2BAA2B;gBACpC,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,kBAAkB;4BACxB,UAAU,EAAE;gCACV;oCACE,GAAG,EAAE,QAAQ;oCACb,KAAK,EAAE,SAAS;iCACjB;gCACD;oCACE,GAAG,EAAE,WAAW;oCAChB,KAAK,EAAE,sBAAsB;iCAC9B;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,kBAAkB;4BACxB,UAAU,EAAE;gCACV;oCACE,GAAG,EAAE,QAAQ;oCACb,KAAK,EAAE,QAAQ;iCAChB;gCACD;oCACE,GAAG,EAAE,WAAW;oCAChB,KAAK,EAAE,qBAAqB;iCAC7B;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE,kBAAkB;4BACxB,UAAU,EAAE;gCACV;oCACE,GAAG,EAAE,QAAQ;oCACb,KAAK,EACH,uJAAuJ;iCAC1J;gCACD;oCACE,GAAG,EAAE,WAAW;oCAChB,KAAK,EAAE,uBAAuB;iCAC/B;6BACF;yBACF;qBACF;oBACD,EAAE,EAAE;wBACF,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE;4BACJ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,yDAAyD;oCAClE,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,sBAAsB;iCAC1C;gCACD;oCACE,OAAO,EAAE,yDAAyD;oCAClE,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,qBAAqB;iCACzC;gCACD;oCACE,OAAO,EAAE,yDAAyD;oCAClE,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,uBAAuB;iCAC3C;6BACF;4BACD,IAAI,EAAE,aAAa;4BACnB,cAAc,EAAE,GAAG;4BACnB,iBAAiB,EAAE,EAAE;4BACrB,8BAA8B,EAAE,EAAE;yBACnC;wBACD,SAAS,EAAE;4BACT,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;4BACnC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;yBAChE;wBACD,UAAU,EAAE,EAAE;qBACf;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC5E;gBACE,OAAO,EAAE,sBAAsB;gBAC/B,MAAM,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC;aAC1B;YACD;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;YACD;gBACE,OAAO,EAAE,uBAAuB;gBAChC,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,eAAe,GAAG,YAAY,CAAC;YACnC,EAAE,EAAE;gBACF,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAE;oBACJ,QAAQ,EAAE;wBACR;4BACE,OAAO,EAAE,8BAA8B;4BACvC,YAAY,EAAE,SAAS;4BACvB,UAAU,EAAE,+CAA+C;4BAC3D,MAAM,EAAE;gCACN;oCACE,KAAK,EAAE,OAAO;oCACd,MAAM,EAAE,OAAO;iCAChB;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE,EAAE;oBACR,cAAc,EAAE,GAAG;oBACnB,iBAAiB,EAAE,EAAE;oBACrB,8BAA8B,EAAE,EAAE;iBACnC;gBACD,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS;aACnC;YACD,IAAI,EAAE,EAAE;SACY,CAAC,CAAC;QAExB,eAAe,CAAC;YACd,GAAG,EAAE,CAAC,eAAe,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACpH,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,EAAE,EAAE;wBACF,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE;4BACJ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,8BAA8B;oCACvC,YAAY,EAAE,+CAA+C;oCAC7D,UAAU,EAAE,SAAS;oCACrB,MAAM,EAAE;wCACN;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,GAAG;yCACZ;qCACF;iCACF;gCACD;oCACE,OAAO,EAAE,8BAA8B;oCACvC,YAAY,EAAE,+CAA+C;oCAC7D,UAAU,EAAE,SAAS;oCACrB,MAAM,EAAE;wCACN;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,GAAG;yCACZ;qCACF;iCACF;6BACF;4BACD,IAAI,EAAE,EAAE;4BACR,cAAc,EAAE,GAAG;4BACnB,iBAAiB,EAAE,EAAE;4BACrB,8BAA8B,EAAE,EAAE;yBACnC;wBACD,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS;qBACnC;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;QAC/F,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,EAAE,EAAE;wBACF,OAAO,EAAE,uBAAuB;wBAChC,IAAI,EAAE;4BACJ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,8BAA8B;oCACvC,YAAY,EAAE,SAAS;oCACvB,UAAU,EAAE,+CAA+C;oCAC3D,MAAM,EAAE;wCACN;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,GAAG;yCACZ;qCACF;iCACF;gCACD;oCACE,OAAO,EAAE,8BAA8B;oCACvC,YAAY,EAAE,SAAS;oCACvB,UAAU,EAAE,+CAA+C;oCAC3D,MAAM,EAAE;wCACN;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,GAAG;yCACZ;qCACF;iCACF;6BACF;4BACD,IAAI,EAAE,EAAE;4BACR,cAAc,EAAE,GAAG;4BACnB,iBAAiB,EAAE,EAAE;4BACrB,8BAA8B,EAAE,EAAE;yBACnC;wBACD,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS;qBACnC;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;QACzG,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,EAAE,EAAE;wBACF,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,qCAAqC;oCAC9C,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,UAAU;oCAC7B,MAAM,EAAE;wCACN,KAAK,EAAE,OAAO;wCACd,MAAM,EAAE,GAAG;qCACZ;iCACF;gCACD;oCACE,OAAO,EAAE,qCAAqC;oCAC9C,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,UAAU;oCAC7B,MAAM,EAAE;wCACN,KAAK,EAAE,OAAO;wCACd,MAAM,EAAE,GAAG;qCACZ;iCACF;6BACF;yBACF;wBACD,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS;qBACnC;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QAC7F,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9E,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC5E;gBACE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,EAAE,EAAE;wBACF,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,4CAA4C;oCACrD,iBAAiB,EAAE,SAAS;oCAC5B,qBAAqB,EAAE,aAAa;oCACpC,qBAAqB,EAAE,UAAU;oCACjC,MAAM,EAAE;wCACN,KAAK,EAAE,OAAO;wCACd,MAAM,EAAE,GAAG;qCACZ;iCACF;gCACD;oCACE,OAAO,EAAE,4CAA4C;oCACrD,iBAAiB,EAAE,SAAS;oCAC5B,qBAAqB,EAAE,aAAa;oCACpC,qBAAqB,EAAE,UAAU;oCACjC,MAAM,EAAE;wCACN,KAAK,EAAE,OAAO;wCACd,MAAM,EAAE,GAAG;qCACZ;iCACF;6BACF;yBACF;wBACD,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS;qBACnC;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QAC7F,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAChF,aAAa,CACd,CAAC;QACF,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC5E;gBACE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,EAAE,EAAE;wBACF,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,uCAAuC;oCAChD,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,UAAU;oCAC7B,MAAM,EAAE;wCACN,KAAK,EAAE,OAAO;wCACd,MAAM,EAAE,GAAG;qCACZ;iCACF;gCACD;oCACE,OAAO,EAAE,uCAAuC;oCAChD,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,UAAU;oCAC7B,MAAM,EAAE;wCACN,KAAK,EAAE,OAAO;wCACd,MAAM,EAAE,GAAG;qCACZ;iCACF;6BACF;yBACF;wBACD,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS;qBACnC;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QAC7F,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChF,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAC5E;gBACE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;aACzB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,eAAe,CAAC;YACd,GAAG,EAAE;gBACH,YAAY,CAAC;oBACX,EAAE,EAAE;wBACF,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,8BAA8B;oCACvC,YAAY,EAAE,SAAS;oCACvB,UAAU,EAAE,+CAA+C;oCAC3D,MAAM,EAAE;wCACN;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,GAAG;yCACZ;qCACF;iCACF;6BACF;yBACF;qBACF;iBACmB,CAAC;aACxB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAE,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}