@ledgerhq/coin-tester-polkadot 1.4.3-nightly.20251129023709 → 1.5.0-nightly.20251203101856

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 (36) hide show
  1. package/CHANGELOG.md +11 -7
  2. package/coin-tester-chopsticks/assethub.yml +20 -0
  3. package/lib/src/helpers.d.ts +1 -1
  4. package/lib/src/helpers.d.ts.map +1 -1
  5. package/lib/src/helpers.js +2 -2
  6. package/lib/src/helpers.js.map +1 -1
  7. package/{lib-es/src/scenarii/Westend.d.ts → lib/src/scenarii/AssetHub.d.ts} +2 -2
  8. package/lib/src/scenarii/AssetHub.d.ts.map +1 -0
  9. package/lib/src/scenarii/{Westend.js → AssetHub.js} +37 -46
  10. package/lib/src/scenarii/AssetHub.js.map +1 -0
  11. package/lib/src/scenarii/Polkadot.d.ts.map +1 -1
  12. package/lib/src/scenarii/Polkadot.js +9 -128
  13. package/lib/src/scenarii/Polkadot.js.map +1 -1
  14. package/lib/tsconfig.tsbuildinfo +1 -1
  15. package/lib-es/src/helpers.d.ts +1 -1
  16. package/lib-es/src/helpers.d.ts.map +1 -1
  17. package/lib-es/src/helpers.js +1 -1
  18. package/lib-es/src/helpers.js.map +1 -1
  19. package/{lib/src/scenarii/Westend.d.ts → lib-es/src/scenarii/AssetHub.d.ts} +2 -2
  20. package/lib-es/src/scenarii/AssetHub.d.ts.map +1 -0
  21. package/lib-es/src/scenarii/{Westend.js → AssetHub.js} +37 -46
  22. package/lib-es/src/scenarii/AssetHub.js.map +1 -0
  23. package/lib-es/src/scenarii/Polkadot.d.ts.map +1 -1
  24. package/lib-es/src/scenarii/Polkadot.js +9 -128
  25. package/lib-es/src/scenarii/Polkadot.js.map +1 -1
  26. package/lib-es/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +6 -6
  28. package/src/helpers.ts +1 -1
  29. package/src/scenarii/{Westend.ts → AssetHub.ts} +42 -51
  30. package/src/scenarii/Polkadot.ts +13 -177
  31. package/src/scenarii.test.ts +6 -6
  32. package/coin-tester-chopsticks/westend.yml +0 -21
  33. package/lib/src/scenarii/Westend.d.ts.map +0 -1
  34. package/lib/src/scenarii/Westend.js.map +0 -1
  35. package/lib-es/src/scenarii/Westend.d.ts.map +0 -1
  36. package/lib-es/src/scenarii/Westend.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-tester-polkadot",
3
- "version": "1.4.3-nightly.20251129023709",
3
+ "version": "1.5.0-nightly.20251203101856",
4
4
  "description": "Ledger Polkadot Coin Tester",
5
5
  "main": "src/scenarii.test.ts",
6
6
  "keywords": [
@@ -50,13 +50,13 @@
50
50
  "dotenv": "^16.4.5",
51
51
  "expect": "^27.4.6",
52
52
  "msw": "^2.2.1",
53
- "@ledgerhq/coin-framework": "^6.10.0-nightly.20251129023709",
54
- "@ledgerhq/coin-polkadot": "^6.13.1-nightly.20251129023709",
55
- "@ledgerhq/coin-tester": "^0.13.0-nightly.20251129023709",
56
- "@ledgerhq/cryptoassets": "^13.34.0-nightly.20251129023709",
53
+ "@ledgerhq/coin-framework": "^6.10.0-nightly.20251203101856",
54
+ "@ledgerhq/coin-polkadot": "^6.14.0-nightly.20251203101856",
55
+ "@ledgerhq/coin-tester": "^0.13.0-nightly.20251203101856",
56
+ "@ledgerhq/cryptoassets": "^13.34.0-nightly.20251203101856",
57
57
  "@ledgerhq/hw-app-polkadot": "^6.34.9",
58
58
  "@ledgerhq/types-cryptoassets": "^7.30.0",
59
- "@ledgerhq/types-live": "^6.90.0-nightly.20251129023709"
59
+ "@ledgerhq/types-live": "^6.90.0-nightly.20251203101856"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@polkadot/util": "12.6.2",
package/src/helpers.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
2
2
 
3
+ export const assethub = getCryptoCurrencyById("assethub_polkadot");
3
4
  export const polkadot = getCryptoCurrencyById("polkadot");
4
- export const westend = getCryptoCurrencyById("westend");
@@ -12,7 +12,7 @@ import { defaultNanoApp } from "../constants";
12
12
  import { createBridges } from "@ledgerhq/coin-polkadot/bridge/index";
13
13
  import { makeAccount } from "../fixtures";
14
14
  import { indexOperation } from "../indexer";
15
- import { westend } from "../helpers";
15
+ import { assethub } from "../helpers";
16
16
  import resolver from "@ledgerhq/coin-polkadot/signer/index";
17
17
  import {
18
18
  PolkadotAccount,
@@ -24,15 +24,15 @@ type PolkadotScenarioTransaction = ScenarioTransaction<PolkadotTransaction, Polk
24
24
 
25
25
  const getTransactions = () => {
26
26
  const send1DotTransaction: PolkadotScenarioTransaction = {
27
- name: "Send 1 WND",
27
+ name: "Send 1 DOT",
28
28
  recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
29
- amount: parseCurrencyUnit(westend.units[0], "1"),
29
+ amount: parseCurrencyUnit(assethub.units[0], "1"),
30
30
  expect: (previousAccount, currentAccount) => {
31
31
  const [latestOperation] = currentAccount.operations;
32
32
  expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
33
33
  expect(latestOperation.type).toBe("OUT");
34
34
  expect(latestOperation.value.toFixed()).toBe(
35
- latestOperation.fee.plus(parseCurrencyUnit(westend.units[0], "1")).toFixed(),
35
+ latestOperation.fee.plus(parseCurrencyUnit(assethub.units[0], "1")).toFixed(),
36
36
  );
37
37
  expect(currentAccount.balance.toFixed()).toBe(
38
38
  previousAccount.balance.minus(latestOperation.value).toFixed(),
@@ -41,15 +41,15 @@ const getTransactions = () => {
41
41
  };
42
42
 
43
43
  const send100DotTransaction: PolkadotScenarioTransaction = {
44
- name: "Send 100 WND",
44
+ name: "Send 100 DOT",
45
45
  recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
46
- amount: parseCurrencyUnit(westend.units[0], "100"),
46
+ amount: parseCurrencyUnit(assethub.units[0], "100"),
47
47
  expect: (previousAccount, currentAccount) => {
48
48
  const [latestOperation] = currentAccount.operations;
49
49
  expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
50
50
  expect(latestOperation.type).toBe("OUT");
51
51
  expect(latestOperation.value.toFixed()).toBe(
52
- latestOperation.fee.plus(parseCurrencyUnit(westend.units[0], "100")).toFixed(),
52
+ latestOperation.fee.plus(parseCurrencyUnit(assethub.units[0], "100")).toFixed(),
53
53
  );
54
54
  expect(currentAccount.balance.toFixed()).toBe(
55
55
  previousAccount.balance.minus(latestOperation.value).toFixed(),
@@ -58,9 +58,9 @@ const getTransactions = () => {
58
58
  };
59
59
 
60
60
  const bond500DotTransaction: PolkadotScenarioTransaction = {
61
- name: "Bond 500 WND",
61
+ name: "Bond 500 DOT",
62
62
  recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
63
- amount: parseCurrencyUnit(westend.units[0], "500"),
63
+ amount: parseCurrencyUnit(assethub.units[0], "500"),
64
64
  mode: "bond",
65
65
  expect: (previousAccount, currentAccount) => {
66
66
  const [latestOperation] = currentAccount.operations;
@@ -69,7 +69,7 @@ const getTransactions = () => {
69
69
  expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.bond");
70
70
  expect(
71
71
  parseCurrencyUnit(
72
- westend.units[0],
72
+ assethub.units[0],
73
73
  (latestOperation.extra as PolkadotOperationExtra).bondedAmount!.toFixed(),
74
74
  ).toFixed(),
75
75
  ).toBe("50000000000000000000000");
@@ -80,9 +80,9 @@ const getTransactions = () => {
80
80
  };
81
81
 
82
82
  const unbond100DotTransaction: PolkadotScenarioTransaction = {
83
- name: "Unbond 100 WND",
83
+ name: "Unbond 100 DOT",
84
84
  recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
85
- amount: parseCurrencyUnit(westend.units[0], "100"),
85
+ amount: parseCurrencyUnit(assethub.units[0], "100"),
86
86
  mode: "unbond",
87
87
  expect: (previousAccount, currentAccount) => {
88
88
  const [latestOperation] = currentAccount.operations;
@@ -91,13 +91,13 @@ const getTransactions = () => {
91
91
  expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.unbond");
92
92
  expect(
93
93
  parseCurrencyUnit(
94
- westend.units[0],
94
+ assethub.units[0],
95
95
  (latestOperation.extra as PolkadotOperationExtra).unbondedAmount!.toFixed(),
96
96
  ).toFixed(),
97
97
  ).toBe("10000000000000000000000");
98
98
  expect(
99
99
  parseCurrencyUnit(
100
- westend.units[0],
100
+ assethub.units[0],
101
101
  currentAccount.polkadotResources.unlockingBalance.toFixed(),
102
102
  ).toFixed(),
103
103
  ).toBe("10000000000000000000000");
@@ -105,9 +105,9 @@ const getTransactions = () => {
105
105
  };
106
106
 
107
107
  const rebond50DotTransaction: PolkadotScenarioTransaction = {
108
- name: "Rebond 50 WND",
108
+ name: "Rebond 50 DOT",
109
109
  recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
110
- amount: parseCurrencyUnit(westend.units[0], "50"),
110
+ amount: parseCurrencyUnit(assethub.units[0], "50"),
111
111
  mode: "rebond",
112
112
  expect: (previousAccount, currentAccount) => {
113
113
  const [latestOperation] = currentAccount.operations;
@@ -116,13 +116,13 @@ const getTransactions = () => {
116
116
  expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.rebond");
117
117
  expect(
118
118
  parseCurrencyUnit(
119
- westend.units[0],
119
+ assethub.units[0],
120
120
  (latestOperation.extra as PolkadotOperationExtra).bondedAmount!.toFixed(),
121
121
  ).toFixed(),
122
122
  ).toBe("5000000000000000000000"); // Should be 450 DOT no ?
123
123
  expect(
124
124
  parseCurrencyUnit(
125
- westend.units[0],
125
+ assethub.units[0],
126
126
  currentAccount.polkadotResources.unlockingBalance.toFixed(),
127
127
  ).toFixed(),
128
128
  ).toBe("5000000000000000000000");
@@ -167,9 +167,9 @@ const getTransactions = () => {
167
167
  };
168
168
 
169
169
  const withdraw250DotTransaction: PolkadotScenarioTransaction = {
170
- name: "Withdraw 250 WND",
170
+ name: "Withdraw 250 DOT",
171
171
  recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
172
- amount: parseCurrencyUnit(westend.units[0], "250"),
172
+ amount: parseCurrencyUnit(assethub.units[0], "250"),
173
173
  mode: "withdrawUnbonded",
174
174
  expect: (previousAccount, currentAccount) => {
175
175
  const [latestOperation] = currentAccount.operations;
@@ -228,30 +228,32 @@ const coinConfig: PolkadotCoinConfig = {
228
228
  url: LOCAL_TESTNODE_WS_URL,
229
229
  },
230
230
  indexer: {
231
- url: "https://explorers.api.live.ledger.com/blockchain/dot_westend",
231
+ url: "https://explorers.api.live.ledger.com/blockchain/dot_asset_hub",
232
232
  },
233
233
  sidecar: {
234
234
  url: SIDECAR_BASE_URL,
235
235
  },
236
236
  metadataShortener: {
237
- url: "https://polkadot-westend-metadata-shortener.api.live.ledger.com/transaction/metadata",
237
+ url: "https://polkadot-metadata-shortener.api.live.ledger.com/transaction/metadata",
238
238
  id: "dot-hub",
239
239
  },
240
240
  metadataHash: {
241
- url: "https://polkadot-westend-metadata-shortener.api.live.ledger.com/node/metadata/hash",
241
+ url: "https://polkadot-metadata-shortener.api.live.ledger.com/node/metadata/hash",
242
242
  },
243
+ hasBeenMigrated: true,
243
244
  };
244
245
 
245
246
  const subscriptions: any[] = [];
246
247
 
247
- export const WestendScenario: Scenario<PolkadotTransaction, PolkadotAccount> = {
248
- name: "Westend Ledger Live transactions",
248
+ export const AssetHubScenario: Scenario<PolkadotTransaction, PolkadotAccount> = {
249
+ name: "Polkadot AssetHub Ledger Live transactions",
250
+
249
251
  setup: async () => {
250
252
  const [{ transport, getOnSpeculosConfirmation }] = await Promise.all([
251
253
  spawnSpeculos(
252
254
  `/${defaultNanoApp.firmware}/PolkadotMigration/app_${defaultNanoApp.version}.elf`,
253
255
  ),
254
- spawnChopsticksAndSidecar("coin-tester-chopsticks/westend.yml"),
256
+ spawnChopsticksAndSidecar("/coin-tester-polkadot/coin-tester-chopsticks/assethub.yml"),
255
257
  ]);
256
258
 
257
259
  const onSignerConfirmation = getOnSpeculosConfirmation("APPROVE");
@@ -270,7 +272,7 @@ export const WestendScenario: Scenario<PolkadotTransaction, PolkadotAccount> = {
270
272
  const getAddress = resolver(signerContext);
271
273
  const { address } = await getAddress("", {
272
274
  path: "44'/354'/0'/0'/0'",
273
- currency: westend,
275
+ currency: assethub,
274
276
  derivationMode: "polkadotbip44",
275
277
  });
276
278
 
@@ -281,29 +283,18 @@ export const WestendScenario: Scenario<PolkadotTransaction, PolkadotAccount> = {
281
283
  // https://polkadot.js.org/docs/keyring/start/suri/#dev-accounts
282
284
  const alice = keyring.addFromUri("//Alice");
283
285
 
284
- // Wait for the transfer to be finalized
285
- await new Promise<void>((resolve, reject) => {
286
- api.tx.balances
287
- .transferAllowDeath(
288
- polkadotScenarioAccountPair.address,
289
- parseCurrencyUnit(westend.units[0], "500000").toNumber(),
290
- )
291
- .signAndSend(alice, result => {
292
- if (result.status.isFinalized) {
293
- resolve();
294
- } else if (
295
- result.status.type === "Dropped" ||
296
- result.status.type === "Invalid" ||
297
- result.status.type === "Usurped" ||
298
- result.status.type === "FinalityTimeout"
299
- ) {
300
- reject(new Error(`Transaction failed: ${result.status.type}`));
301
- }
302
- })
303
- .catch(reject);
304
- });
286
+ const unsub = await api.tx.balances
287
+ .transferAllowDeath(
288
+ polkadotScenarioAccountPair.address,
289
+ parseCurrencyUnit(assethub.units[0], "50000").toNumber(),
290
+ )
291
+ .signAndSend(alice, result => {
292
+ if (result.status.isFinalized) {
293
+ unsub();
294
+ }
295
+ });
305
296
 
306
- const account = makeAccount(polkadotScenarioAccountPair.address, westend);
297
+ const account = makeAccount(polkadotScenarioAccountPair.address, assethub);
307
298
 
308
299
  return {
309
300
  accountBridge,
@@ -403,8 +394,8 @@ export const WestendScenario: Scenario<PolkadotTransaction, PolkadotAccount> = {
403
394
  });
404
395
  },
405
396
  beforeAll: async account => {
406
- expect(formatCurrencyUnit(westend.units[0], account.balance, { useGrouping: false })).toBe(
407
- "500000",
397
+ expect(formatCurrencyUnit(assethub.units[0], account.balance, { useGrouping: false })).toBe(
398
+ "50000",
408
399
  );
409
400
  },
410
401
  beforeSync: async () => {
@@ -57,160 +57,7 @@ const getTransactions = () => {
57
57
  },
58
58
  };
59
59
 
60
- const bond500DotTransaction: PolkadotScenarioTransaction = {
61
- name: "Bond 500 DOT",
62
- recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
63
- amount: parseCurrencyUnit(polkadot.units[0], "500"),
64
- mode: "bond",
65
- expect: (previousAccount, currentAccount) => {
66
- const [latestOperation] = currentAccount.operations;
67
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
68
- expect(latestOperation.type).toBe("BOND");
69
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.bond");
70
- expect(
71
- parseCurrencyUnit(
72
- polkadot.units[0],
73
- (latestOperation.extra as PolkadotOperationExtra).bondedAmount!.toFixed(),
74
- ).toFixed(),
75
- ).toBe("50000000000000000000000");
76
- expect(currentAccount.balance.toFixed()).toBe(
77
- previousAccount.balance.minus(latestOperation.value).toFixed(),
78
- );
79
- },
80
- };
81
-
82
- const unbond100DotTransaction: PolkadotScenarioTransaction = {
83
- name: "Unbond 100 DOT",
84
- recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
85
- amount: parseCurrencyUnit(polkadot.units[0], "100"),
86
- mode: "unbond",
87
- expect: (previousAccount, currentAccount) => {
88
- const [latestOperation] = currentAccount.operations;
89
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
90
- expect(latestOperation.type).toBe("UNBOND");
91
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.unbond");
92
- expect(
93
- parseCurrencyUnit(
94
- polkadot.units[0],
95
- (latestOperation.extra as PolkadotOperationExtra).unbondedAmount!.toFixed(),
96
- ).toFixed(),
97
- ).toBe("10000000000000000000000");
98
- expect(
99
- parseCurrencyUnit(
100
- polkadot.units[0],
101
- currentAccount.polkadotResources.unlockingBalance.toFixed(),
102
- ).toFixed(),
103
- ).toBe("10000000000000000000000");
104
- },
105
- };
106
-
107
- const rebond50DotTransaction: PolkadotScenarioTransaction = {
108
- name: "Rebond 50 DOT",
109
- recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
110
- amount: parseCurrencyUnit(polkadot.units[0], "50"),
111
- mode: "rebond",
112
- expect: (previousAccount, currentAccount) => {
113
- const [latestOperation] = currentAccount.operations;
114
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
115
- expect(latestOperation.type).toBe("BOND");
116
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.rebond");
117
- expect(
118
- parseCurrencyUnit(
119
- polkadot.units[0],
120
- (latestOperation.extra as PolkadotOperationExtra).bondedAmount!.toFixed(),
121
- ).toFixed(),
122
- ).toBe("5000000000000000000000"); // Should be 450 DOT no ?
123
- expect(
124
- parseCurrencyUnit(
125
- polkadot.units[0],
126
- currentAccount.polkadotResources.unlockingBalance.toFixed(),
127
- ).toFixed(),
128
- ).toBe("5000000000000000000000");
129
- },
130
- };
131
-
132
- const nomminateTransaction: PolkadotScenarioTransaction = {
133
- name: "Nominate",
134
- mode: "nominate",
135
- // https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fpolkadot-rpc.publicnode.com#/staking
136
- validators: [
137
- "15ANfaUMadXk65NtRqzCKuhAiVSA47Ks6fZs8rUcRQX11pzM",
138
- "19KaPfHSSjv4soqNW1tqPMwAnSGmG3pGydPzrPvaNLXLFDZ",
139
- ],
140
- expect: (previousAccount, currentAccount) => {
141
- const [latestOperation] = currentAccount.operations;
142
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
143
- expect(latestOperation.type).toBe("NOMINATE");
144
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe(
145
- "staking.nominate",
146
- );
147
- expect((latestOperation.extra as PolkadotOperationExtra).validators?.length).toBe(2);
148
- expect(currentAccount.polkadotResources.nominations?.length).toBe(2);
149
- expect(
150
- currentAccount.polkadotResources.nominations?.every(
151
- nominiation => nominiation.status === "waiting" || nominiation.status === "inactive",
152
- ),
153
- ).toBe(true);
154
- },
155
- };
156
-
157
- const chillTransaction: PolkadotScenarioTransaction = {
158
- name: "Chill",
159
- recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
160
- mode: "chill",
161
- expect: (previousAccount, currentAccount) => {
162
- const [latestOperation] = currentAccount.operations;
163
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
164
- expect(latestOperation.type).toBe("CHILL");
165
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe("staking.chill");
166
- },
167
- };
168
-
169
- const withdraw250DotTransaction: PolkadotScenarioTransaction = {
170
- name: "Withdraw 250 DOT",
171
- recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
172
- amount: parseCurrencyUnit(polkadot.units[0], "250"),
173
- mode: "withdrawUnbonded",
174
- expect: (previousAccount, currentAccount) => {
175
- const [latestOperation] = currentAccount.operations;
176
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
177
- expect(latestOperation.type).toBe("WITHDRAW_UNBONDED");
178
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe(
179
- "staking.withdrawUnbonded",
180
- );
181
- },
182
- };
183
-
184
- const claimRewardTransaction: PolkadotScenarioTransaction = {
185
- name: "Claim reward",
186
- recipient: "15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5",
187
- mode: "claimReward",
188
- validators: [
189
- "15ANfaUMadXk65NtRqzCKuhAiVSA47Ks6fZs8rUcRQX11pzM",
190
- "13TrdLhMVLcwcEhMYLcqrkxAgq9M5gnK1LZKAF4VupVfQDUg",
191
- "19KaPfHSSjv4soqNW1tqPMwAnSGmG3pGydPzrPvaNLXLFDZ",
192
- ],
193
- expect: (previousAccount, currentAccount) => {
194
- const [latestOperation] = currentAccount.operations;
195
- expect(currentAccount.operations.length - previousAccount.operations.length).toBe(1);
196
- expect(latestOperation.type).toBe("FEES");
197
- expect((latestOperation.extra as PolkadotOperationExtra).palletMethod).toBe(
198
- "staking.payoutStakers",
199
- );
200
- },
201
- };
202
-
203
- return [
204
- send1DotTransaction,
205
- send100DotTransaction,
206
- bond500DotTransaction,
207
- unbond100DotTransaction,
208
- rebond50DotTransaction,
209
- nomminateTransaction,
210
- chillTransaction,
211
- withdraw250DotTransaction,
212
- claimRewardTransaction,
213
- ];
60
+ return [send1DotTransaction, send100DotTransaction];
214
61
  };
215
62
 
216
63
  const LOCAL_TESTNODE_WS_URL = "ws://127.0.0.1:8000";
@@ -252,7 +99,7 @@ export const PolkadotScenario: Scenario<PolkadotTransaction, PolkadotAccount> =
252
99
  spawnSpeculos(
253
100
  `/${defaultNanoApp.firmware}/PolkadotMigration/app_${defaultNanoApp.version}.elf`,
254
101
  ),
255
- spawnChopsticksAndSidecar("coin-tester-chopsticks/polkadot.yml"),
102
+ spawnChopsticksAndSidecar("/coin-tester-polkadot/coin-tester-chopsticks/polkadot.yml"),
256
103
  ]);
257
104
 
258
105
  const onSignerConfirmation = getOnSpeculosConfirmation("APPROVE");
@@ -282,27 +129,16 @@ export const PolkadotScenario: Scenario<PolkadotTransaction, PolkadotAccount> =
282
129
  // https://polkadot.js.org/docs/keyring/start/suri/#dev-accounts
283
130
  const alice = keyring.addFromUri("//Alice");
284
131
 
285
- // Wait for the transfer to be finalized
286
- await new Promise<void>((resolve, reject) => {
287
- api.tx.balances
288
- .transferAllowDeath(
289
- polkadotScenarioAccountPair.address,
290
- parseCurrencyUnit(polkadot.units[0], "500000").toNumber(),
291
- )
292
- .signAndSend(alice, result => {
293
- if (result.status.isFinalized) {
294
- resolve();
295
- } else if (
296
- result.status.type === "Dropped" ||
297
- result.status.type === "Invalid" ||
298
- result.status.type === "Usurped" ||
299
- result.status.type === "FinalityTimeout"
300
- ) {
301
- reject(new Error(`Transaction failed: ${result.status.type}`));
302
- }
303
- })
304
- .catch(reject);
305
- });
132
+ const unsub = await api.tx.balances
133
+ .transferAllowDeath(
134
+ polkadotScenarioAccountPair.address,
135
+ parseCurrencyUnit(polkadot.units[0], "100000").toNumber(),
136
+ )
137
+ .signAndSend(alice, result => {
138
+ if (result.status.isFinalized) {
139
+ unsub();
140
+ }
141
+ });
306
142
 
307
143
  const account = makeAccount(polkadotScenarioAccountPair.address, polkadot);
308
144
 
@@ -405,7 +241,7 @@ export const PolkadotScenario: Scenario<PolkadotTransaction, PolkadotAccount> =
405
241
  },
406
242
  beforeAll: async account => {
407
243
  expect(formatCurrencyUnit(polkadot.units[0], account.balance, { useGrouping: false })).toBe(
408
- "500000",
244
+ "100000",
409
245
  );
410
246
  },
411
247
  beforeSync: async () => {
@@ -2,16 +2,16 @@ import console from "console";
2
2
  import { executeScenario } from "@ledgerhq/coin-tester/main";
3
3
  import { killSpeculos } from "@ledgerhq/coin-tester/signers/speculos";
4
4
  import { killChopsticksAndSidecar } from "./chopsticks-sidecar";
5
+ import { AssetHubScenario } from "./scenarii/AssetHub";
5
6
  import { PolkadotScenario } from "./scenarii/Polkadot";
6
- import { WestendScenario } from "./scenarii/Westend";
7
7
 
8
8
  global.console = console;
9
- jest.setTimeout(300_000);
9
+ jest.setTimeout(600_000);
10
10
 
11
11
  describe("Polkadot Deterministic Tester", () => {
12
- it("scenario Polkadot", async () => {
12
+ it("scenario AssetHub", async () => {
13
13
  try {
14
- await executeScenario(PolkadotScenario);
14
+ await executeScenario(AssetHubScenario);
15
15
  } catch (e) {
16
16
  if (e != "done") {
17
17
  await Promise.all([killSpeculos(), killChopsticksAndSidecar()]);
@@ -20,9 +20,9 @@ describe("Polkadot Deterministic Tester", () => {
20
20
  }
21
21
  });
22
22
 
23
- it.skip("scenario Westend", async () => {
23
+ it("scenario Polkadot", async () => {
24
24
  try {
25
- await executeScenario(WestendScenario);
25
+ await executeScenario(PolkadotScenario);
26
26
  } catch (e) {
27
27
  if (e != "done") {
28
28
  await Promise.all([killSpeculos(), killChopsticksAndSidecar()]);
@@ -1,21 +0,0 @@
1
- # Configuration file for chopsticks
2
- # Inspired by https://github.com/AcalaNetwork/chopsticks/blob/master/configs/polkadot.yml
3
- # Documentation: https://github.com/AcalaNetwork/chopsticks?tab=readme-ov-file
4
- endpoint:
5
- - wss://westend-rpc.polkadot.io
6
- - wss://rpc.ibp.network/westend
7
- - wss://westend-rpc.dwellir.com
8
- mock-signature-host: true
9
- db: /data/westend.sqlite
10
- runtime-log-level: 5
11
-
12
- import-storage:
13
- System:
14
- Account:
15
- - - # //Alice dev seed default address
16
- - 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY
17
- - providers: 1
18
- data:
19
- free: "10000000000000000000"
20
- ParasDisputes:
21
- $removePrefix: ["disputes"]
@@ -1 +0,0 @@
1
- {"version":3,"file":"Westend.d.ts","sourceRoot":"","sources":["../../../src/scenarii/Westend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B,CAAC;AAY3E,OAAO,EACL,eAAe,EAEf,WAAW,IAAI,mBAAmB,EACnC,MAAM,sCAAsC,CAAC;AAkO9C,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CA8K1E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Westend.js","sourceRoot":"","sources":["../../../src/scenarii/Westend.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Westend.d.ts","sourceRoot":"","sources":["../../../src/scenarii/Westend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAuB,MAAM,4BAA4B,CAAC;AAY3E,OAAO,EACL,eAAe,EAEf,WAAW,IAAI,mBAAmB,EACnC,MAAM,sCAAsC,CAAC;AAkO9C,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CA8K1E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Westend.js","sourceRoot":"","sources":["../../../src/scenarii/Westend.ts"],"names":[],"mappings":"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"}