Skip to content

Commit 1c800e9

Browse files
nvrakesh06bitgobot
authored andcommitted
feat(sdk-coin-polyx): update mainnet resources to v8 runtime
Upgrade the mainnet offline-signing material from specVersion 7002000 (txVersion 7) to specVersion 8000000 (txVersion 8) in preparation for the Polymesh mainnet v8 runtime upgrade scheduled before July 22 2026. The v8 metadata is derived from the live testnet v8 metadata (which has already upgraded) with two surgical patches to match mainnet chain config: the specName string is replaced from polymesh_testnet to polymesh_mainnet, and the SS58Prefix constant value is replaced from 42 to 12. These are the only chain-specific differences between the two networks' v8 metadata; all pallet/call indices are identical since both run the same v8 runtime binary. Also adds mainnetRawTx test fixtures (signed and unsigned transfer and CDD-registration transactions built against the v8 mainnet metadata), and fixes a pre-existing bug in mainnet builder tests where specVersion and txVersion assertions incorrectly compared against testnetMaterial instead of mainnetMaterial. Ticket: CECHO-1476 Session-Id: 33274cea-1725-4f51-bfb9-372ec9123dbf Task-Id: 16ef1359-37dd-4746-b58e-b2f6a0505c4a
1 parent 99f90f8 commit 1c800e9

4 files changed

Lines changed: 49 additions & 31 deletions

File tree

modules/sdk-coin-polyx/src/resources/mainnet.ts

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.

modules/sdk-coin-polyx/test/resources/index.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
import { Networks } from '@bitgo/statics';
22
export { testnetMetadataRpc } from './testnet';
33

4+
// v8 mainnet raw transaction fixtures (built with specVersion=8000000, txVersion=8)
5+
export const mainnetRawTx = {
6+
transfer: {
7+
signed:
8+
'0xc50284000c15e10fc196d9597977f8bfccda53149c4f47f4e9f37a5564c3c6abefb8d52a00aadae7fa1f53e7a5c900b330ff71bee6782cf3c29a2c6f9599162381cd021ad581c74ded89f49ec79adefed64af8ff16649553523dda9cb4f017cbf15681e50ed50188000005280087c8be067be02a321ad8e946a4a50d71c25b9a640d064ec577d4ef9424b90b460300943577013030303030303030303030303030303030303030303030303030303030303030',
9+
unsigned:
10+
'0x250105280087c8be067be02a321ad8e946a4a50d71c25b9a640d064ec577d4ef9424b90b460300943577013030303030303030303030303030303030303030303030303030303030303030d50190000000127a00080000006fbd74e5e1d0a61d52ccfe9d4adaed16dd3a7caa37c6bc4d0c2fa12e8b2f4063e5c5396f3291d2575d138b98d34eac2fc156e5280276f57a30a8e3b8fbc49bfc00',
11+
},
12+
cddTransaction: {
13+
signed:
14+
'0x310284005a9f5ba5f51de3a38b1ee7f7e91dc9e844696d7da545d78a14b1635244e34d2a00aadae7fa1f53e7a5c900b330ff71bee6782cf3c29a2c6f9599162381cd021ad581c74ded89f49ec79adefed64af8ff16649553523dda9cb4f017cbf15681e50ed501040000071460b685d82b315b70d7c7604f990a05395eab09d5e75bae5d2c519ca1b01e25e50000',
15+
unsigned:
16+
'0x90071460b685d82b315b70d7c7604f990a05395eab09d5e75bae5d2c519ca1b01e25e50000d50104000000127a00080000006fbd74e5e1d0a61d52ccfe9d4adaed16dd3a7caa37c6bc4d0c2fa12e8b2f4063149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d00',
17+
},
18+
};
19+
420
export const mockTssSignature =
521
'aadae7fa1f53e7a5c900b330ff71bee6782cf3c29a2c6f9599162381cd021ad581c74ded89f49ec79adefed64af8ff16649553523dda9cb4f017cbf15681e50e';
622

modules/sdk-coin-polyx/test/unit/transactionBuilder/registerDidWithCDDBuilder.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import { utils } from '../../../src';
77
import {
88
accounts,
99
rawTx,
10+
mainnetRawTx,
1011
chainName,
1112
mainChainName,
1213
genesisHash,
1314
mainGenesisHash,
1415
mockTssSignature,
1516
} from '../../resources';
1617
import { buildTestConfig, buildMainnetConfig } from './base';
17-
import { testnetMaterial } from '../../../src/resources';
18+
import { testnetMaterial, mainnetMaterial } from '../../../src/resources';
1819

1920
describe('Polyx Register DID with CDD builder Builder - Testnet', () => {
2021
let builder: RegisterDidWithCDDBuilder;
@@ -218,10 +219,10 @@ describe('Polyx Register DID with CDD builder Builder - Mainnet', () => {
218219
should.deepEqual(txJson.blockNumber, 3933);
219220
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
220221
should.deepEqual(txJson.genesisHash, mainGenesisHash);
221-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
222+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
222223
should.deepEqual(txJson.nonce, 200);
223224
should.deepEqual(txJson.tip, 0);
224-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
225+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
225226
should.deepEqual(txJson.chainName, mainChainName);
226227
should.deepEqual(txJson.eraPeriod, 64);
227228

@@ -251,10 +252,10 @@ describe('Polyx Register DID with CDD builder Builder - Mainnet', () => {
251252
should.deepEqual(txJson.blockNumber, 3933);
252253
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
253254
should.deepEqual(txJson.genesisHash, mainGenesisHash);
254-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
255+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
255256
should.deepEqual(txJson.nonce, 200);
256257
should.deepEqual(txJson.tip, 0);
257-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
258+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
258259
should.deepEqual(txJson.chainName, mainChainName);
259260
should.deepEqual(txJson.eraPeriod, 0);
260261

@@ -283,16 +284,16 @@ describe('Polyx Register DID with CDD builder Builder - Mainnet', () => {
283284
should.deepEqual(txJson.blockNumber, 3933);
284285
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
285286
should.deepEqual(txJson.genesisHash, mainGenesisHash);
286-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
287+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
287288
should.deepEqual(txJson.nonce, 200);
288289
should.deepEqual(txJson.tip, 0);
289-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
290+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
290291
should.deepEqual(txJson.chainName, mainChainName);
291292
should.deepEqual(txJson.eraPeriod, 64);
292293
});
293294

294295
it('should build from raw signed tx', async () => {
295-
builder.from(rawTx.cddTransaction.signed);
296+
builder.from(mainnetRawTx.cddTransaction.signed);
296297
builder
297298
.validity({ firstValid: 3933, maxDuration: 64 })
298299
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
@@ -304,16 +305,16 @@ describe('Polyx Register DID with CDD builder Builder - Mainnet', () => {
304305
should.deepEqual(txJson.blockNumber, 3933);
305306
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
306307
should.deepEqual(txJson.genesisHash, mainGenesisHash);
307-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
308+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
308309
should.deepEqual(txJson.nonce, 1);
309310
should.deepEqual(txJson.tip, 0);
310-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
311+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
311312
should.deepEqual(txJson.chainName, mainChainName);
312313
should.deepEqual(txJson.eraPeriod, 64);
313314
});
314315

315316
it('should build from raw unsigned tx', async () => {
316-
builder.from(rawTx.cddTransaction.unsigned);
317+
builder.from(mainnetRawTx.cddTransaction.unsigned);
317318
builder
318319
.validity({ firstValid: 3933, maxDuration: 64 })
319320
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
@@ -328,11 +329,11 @@ describe('Polyx Register DID with CDD builder Builder - Mainnet', () => {
328329
should.deepEqual(txJson.blockNumber, 3933);
329330
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
330331
should.deepEqual(txJson.genesisHash, mainGenesisHash);
331-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
332+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
332333
should.deepEqual(txJson.nonce, 1);
333334
should.deepEqual(txJson.eraPeriod, 64);
334335
should.deepEqual(txJson.tip, 0);
335-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
336+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
336337
should.deepEqual(txJson.chainName, mainChainName);
337338
});
338339
});

modules/sdk-coin-polyx/test/unit/transactionBuilder/transferBuilder.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import { utils } from '../../../src';
77
import {
88
accounts,
99
rawTx,
10+
mainnetRawTx,
1011
chainName,
1112
genesisHash,
1213
mockTssSignature,
1314
mainGenesisHash,
1415
mainChainName,
1516
} from '../../resources';
1617
import { buildMainnetConfig, buildTestConfig } from './base';
17-
import { testnetMaterial } from '../../../src/resources';
18+
import { testnetMaterial, mainnetMaterial } from '../../../src/resources';
1819

1920
describe('Polyx Transfer Builder - Testnet', () => {
2021
let builder: TransferBuilder;
@@ -244,10 +245,10 @@ describe('Polyx Transfer Builder - Mainnet', () => {
244245
should.deepEqual(txJson.blockNumber, 3933);
245246
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
246247
should.deepEqual(txJson.genesisHash, mainGenesisHash);
247-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
248+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
248249
should.deepEqual(txJson.nonce, 200);
249250
should.deepEqual(txJson.tip, 0);
250-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
251+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
251252
should.deepEqual(txJson.chainName, mainChainName);
252253
should.deepEqual(txJson.eraPeriod, 64);
253254

@@ -279,10 +280,10 @@ describe('Polyx Transfer Builder - Mainnet', () => {
279280
should.deepEqual(txJson.blockNumber, 3933);
280281
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
281282
should.deepEqual(txJson.genesisHash, mainGenesisHash);
282-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
283+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
283284
should.deepEqual(txJson.nonce, 200);
284285
should.deepEqual(txJson.tip, 0);
285-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
286+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
286287
should.deepEqual(txJson.chainName, mainChainName);
287288
should.deepEqual(txJson.eraPeriod, 0);
288289

@@ -313,16 +314,16 @@ describe('Polyx Transfer Builder - Mainnet', () => {
313314
should.deepEqual(txJson.blockNumber, 3933);
314315
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
315316
should.deepEqual(txJson.genesisHash, mainGenesisHash);
316-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
317+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
317318
should.deepEqual(txJson.nonce, 200);
318319
should.deepEqual(txJson.tip, 0);
319-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
320+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
320321
should.deepEqual(txJson.chainName, mainChainName);
321322
should.deepEqual(txJson.eraPeriod, 64);
322323
});
323324

324325
it('should build from raw signed tx', async () => {
325-
builder.from(rawTx.transfer.signed);
326+
builder.from(mainnetRawTx.transfer.signed);
326327
builder
327328
.validity({ firstValid: 3933, maxDuration: 64 })
328329
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
@@ -334,16 +335,16 @@ describe('Polyx Transfer Builder - Mainnet', () => {
334335
should.deepEqual(txJson.blockNumber, 3933);
335336
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
336337
should.deepEqual(txJson.genesisHash, mainGenesisHash);
337-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
338+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
338339
should.deepEqual(txJson.nonce, 34);
339340
should.deepEqual(txJson.tip, 0);
340-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
341+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
341342
should.deepEqual(txJson.chainName, mainChainName);
342343
should.deepEqual(txJson.eraPeriod, 64);
343344
});
344345

345346
it('should build from raw unsigned tx', async () => {
346-
builder.from(rawTx.transfer.unsigned);
347+
builder.from(mainnetRawTx.transfer.unsigned);
347348
builder
348349
.validity({ firstValid: 3933, maxDuration: 64 })
349350
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
@@ -358,11 +359,11 @@ describe('Polyx Transfer Builder - Mainnet', () => {
358359
should.deepEqual(txJson.blockNumber, 3933);
359360
should.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
360361
should.deepEqual(txJson.genesisHash, mainGenesisHash);
361-
should.deepEqual(txJson.specVersion, Number(testnetMaterial.specVersion));
362+
should.deepEqual(txJson.specVersion, Number(mainnetMaterial.specVersion));
362363
should.deepEqual(txJson.nonce, 36);
363364
should.deepEqual(txJson.eraPeriod, 64);
364365
should.deepEqual(txJson.tip, 0);
365-
should.deepEqual(txJson.transactionVersion, Number(testnetMaterial.txVersion));
366+
should.deepEqual(txJson.transactionVersion, Number(mainnetMaterial.txVersion));
366367
should.deepEqual(txJson.chainName, mainChainName);
367368
});
368369
});

0 commit comments

Comments
 (0)