--- a/.docker/Dockerfile-xcm.j2 +++ b/.docker/Dockerfile-xcm.j2 @@ -58,7 +58,7 @@ COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/ COPY --from=uniquenetwork/builder-moonbeam:{{ MOONBEAM_BUILD_BRANCH }} /unique_parachain/moonbeam/target/release/moonbeam /moonbeam/target/release/ COPY --from=uniquenetwork/builder-cumulus:{{ CUMULUS_BUILD_BRANCH }} /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus -COPY --from=uniquenetwork/builder-acala:{{ ACALA_BUILD_BRANCH }} /unique_parachain/Acala/target/production/acala /acala/target/release/ +COPY --from=uniquenetwork/builder-acala:{{ ACALA_BUILD_BRANCH }} /unique_parachain/acala/target/production/acala /acala/target/release/ COPY --from=uniquenetwork/builder-astar:{{ ASTAR_BUILD_BRANCH }} /unique_parachain/astar/target/release/astar /astar/target/release/ COPY --from=uniquenetwork/builder-chainql:{{ CHAINQL }} /chainql/target/release/chainql /chainql/target/release/ --- a/.env +++ b/.env @@ -5,25 +5,25 @@ POLKADOT_MAINNET_BRANCH=release-v0.9.37 STATEMINT_BUILD_BRANCH=release-parachains-v9370 -ACALA_BUILD_BRANCH=2.12.0 -MOONBEAM_BUILD_BRANCH=runtime-2201 -ASTAR_BUILD_BRANCH=v5.3.0 -UNIQUE_MAINNET_BRANCH=release-v937053 +ACALA_BUILD_BRANCH=2.17.0 +MOONBEAM_BUILD_BRANCH=runtime-2302 +ASTAR_BUILD_BRANCH=v5.4.0 +UNIQUE_MAINNET_BRANCH=release-v941055 UNIQUE_REPLICA_FROM=wss://ws.unique.network:443 KUSAMA_MAINNET_BRANCH=release-v0.9.38 STATEMINE_BUILD_BRANCH=release-parachains-v9382 -KARURA_BUILD_BRANCH=release-karura-2.15.0 -MOONRIVER_BUILD_BRANCH=runtime-2201 -SHIDEN_BUILD_BRANCH=v4.49.0 -QUARTZ_MAINNET_BRANCH=release-v937053 +KARURA_BUILD_BRANCH=release-karura-2.17.0 +MOONRIVER_BUILD_BRANCH=runtime-2302 +SHIDEN_BUILD_BRANCH=v5.4.0 +QUARTZ_MAINNET_BRANCH=release-v941055 QUARTZ_REPLICA_FROM=wss://ws-quartz.unique.network:443 -UNIQUEWEST_MAINNET_BRANCH=release-v0.9.40 -WESTMINT_BUILD_BRANCH=parachains-v9400 -OPAL_MAINNET_BRANCH=release-v937053 +UNIQUEWEST_MAINNET_BRANCH=release-v0.9.42 +WESTMINT_BUILD_BRANCH=parachains-v9420 +OPAL_MAINNET_BRANCH=release-v941055 OPAL_REPLICA_FROM=wss://ws-opal.unique.network:443 -UNIQUEEAST_MAINNET_BRANCH=release-v0.9.32 -SAPPHIRE_MAINNET_BRANCH=release-v937053 +UNIQUEEAST_MAINNET_BRANCH=release-v0.9.42 +SAPPHIRE_MAINNET_BRANCH=release-v941055 SAPPHIRE_REPLICA_FROM=wss://ws-sapphire.unique.network:443 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ ``` git clone https://github.com/paritytech/polkadot.git cd polkadot -git checkout release-v0.9.39 +git checkout release-v0.9.42 cargo build --release ``` --- a/tests/package.json +++ b/tests/package.json @@ -118,7 +118,8 @@ "polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > src/interfaces/metadata.json", "polkadot-types-from-defs": "ts-node --esm ./node_modules/.bin/polkadot-types-from-defs --endpoint src/interfaces/metadata.json --input src/interfaces/ --package .", "polkadot-types-from-chain": "ts-node --esm ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .", - "polkadot-types": "echo \"export default {}\" > src/interfaces/lookup.ts && yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain" + "polkadot-types": "echo \"export default {}\" > src/interfaces/lookup.ts && yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain", + "generateEnv": "ts-node --esm ./src/generateEnv.ts" }, "author": "", "license": "SEE LICENSE IN ../LICENSE", --- a/tests/src/generateEnv.ts +++ b/tests/src/generateEnv.ts @@ -62,12 +62,14 @@ ff('wss://rpc.astar.network/', /^(.+)$/, (_, r) => { switch (r) { case '55': return 'v5.3.0'; + case '57': return 'v5.4.0'; default: throw new Error('unknown astar branch for runtime ' + r); } }).then(v => env = setVar(env, 'ASTAR_BUILD_BRANCH', v)), ff('wss://shiden.api.onfinality.io/public-ws', /^(.+)$/, (_, r) => { switch (r) { case '90': return 'v4.49.0'; + case '96': return 'v5.4.0'; default: throw new Error('unknown shiden branch for runtime ' + r); } }).then(v => env = setVar(env, 'SHIDEN_BUILD_BRANCH', v)), --- a/tests/src/xcm/xcmQuartz.test.ts +++ b/tests/src/xcm/xcmQuartz.test.ts @@ -797,6 +797,7 @@ let quartzParachainMultilocation: any; let quartzAccountMultilocation: any; let quartzCombinedMultilocation: any; + let quartzCombinedMultilocationKarura: any; // TODO remove it when Karura goes V2 let messageSent: any; @@ -815,7 +816,7 @@ }; quartzParachainMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: quartzParachainJunction, @@ -824,7 +825,7 @@ }; quartzAccountMultilocation = { - V1: { + V2: { parents: 0, interior: { X1: quartzAccountJunction, @@ -833,6 +834,15 @@ }; quartzCombinedMultilocation = { + V2: { + parents: 1, + interior: { + X2: [quartzParachainJunction, quartzAccountJunction], + }, + }, + }; + + quartzCombinedMultilocationKarura = { V1: { parents: 1, interior: { @@ -861,7 +871,7 @@ const id = { Token: 'KAR', }; - const destination = quartzCombinedMultilocation; + const destination = quartzCombinedMultilocationKarura; await helper.xTokens.transfer(alice, id, testAmount, destination, 'Unlimited'); messageSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); @@ -887,7 +897,7 @@ const destinationParachain = quartzParachainMultilocation; const beneficiary = quartzAccountMultilocation; const assets = { - V1: [{ + V2: [{ id: { Concrete: { parents: 0, @@ -1061,7 +1071,7 @@ itSub('Should connect to Moonriver and send QTZ back', async ({helper}) => { await usingMoonriverPlaygrounds(moonriverUrl, async (helper) => { const asset = { - V1: { + V2: { id: { Concrete: { parents: 1, @@ -1076,7 +1086,7 @@ }, }; const destination = { - V1: { + V2: { parents: 1, interior: { X2: [ @@ -1131,7 +1141,7 @@ const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice); const quartzMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: {Parachain: QUARTZ_CHAIN}, @@ -1202,7 +1212,7 @@ const [targetAccount] = await helper.arrange.createAccounts([0n], alice); const quartzMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1327,7 +1337,7 @@ console.log('2. Register asset location on Shiden'); const assetLocation = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1419,7 +1429,7 @@ itSub('Should connect to Shiden and send QTZ back', async ({helper}) => { await usingShidenPlaygrounds(shidenUrl, async (helper) => { const destination = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1430,7 +1440,7 @@ }; const beneficiary = { - V1: { + V2: { parents: 0, interior: { X1: { @@ -1444,7 +1454,7 @@ }; const assets = { - V1: [ + V2: [ { id: { Concrete: { @@ -1501,7 +1511,7 @@ const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice); const quartzMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: {Parachain: QUARTZ_CHAIN}, @@ -1564,7 +1574,7 @@ const [targetAccount] = await helper.arrange.createAccounts([0n], alice); const quartzMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: { --- a/tests/src/xcm/xcmUnique.test.ts +++ b/tests/src/xcm/xcmUnique.test.ts @@ -799,6 +799,7 @@ let uniqueParachainMultilocation: any; let uniqueAccountMultilocation: any; let uniqueCombinedMultilocation: any; + let uniqueCombinedMultilocationAcala: any; // TODO remove when Acala goes V2 let messageSent: any; @@ -817,7 +818,7 @@ }; uniqueParachainMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: uniqueParachainJunction, @@ -826,7 +827,7 @@ }; uniqueAccountMultilocation = { - V1: { + V2: { parents: 0, interior: { X1: uniqueAccountJunction, @@ -835,6 +836,15 @@ }; uniqueCombinedMultilocation = { + V2: { + parents: 1, + interior: { + X2: [uniqueParachainJunction, uniqueAccountJunction], + }, + }, + }; + + uniqueCombinedMultilocationAcala = { V1: { parents: 1, interior: { @@ -863,7 +873,7 @@ const id = { Token: 'ACA', }; - const destination = uniqueCombinedMultilocation; + const destination = uniqueCombinedMultilocationAcala; await helper.xTokens.transfer(alice, id, testAmount, destination, 'Unlimited'); messageSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); @@ -889,7 +899,7 @@ const destinationParachain = uniqueParachainMultilocation; const beneficiary = uniqueAccountMultilocation; const assets = { - V1: [{ + V2: [{ id: { Concrete: { parents: 0, @@ -1064,7 +1074,7 @@ itSub('Should connect to Moonbeam and send UNQ back', async ({helper}) => { await usingMoonbeamPlaygrounds(moonbeamUrl, async (helper) => { const asset = { - V1: { + V2: { id: { Concrete: { parents: 1, @@ -1079,7 +1089,7 @@ }, }; const destination = { - V1: { + V2: { parents: 1, interior: { X2: [ @@ -1134,7 +1144,7 @@ const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice); const uniqueMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: {Parachain: UNIQUE_CHAIN}, @@ -1205,7 +1215,7 @@ const [targetAccount] = await helper.arrange.createAccounts([0n], alice); const uniqueMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1330,7 +1340,7 @@ console.log('2. Register asset location on Astar'); const assetLocation = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1422,7 +1432,7 @@ itSub('Should connect to Astar and send UNQ back', async ({helper}) => { await usingAstarPlaygrounds(astarUrl, async (helper) => { const destination = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1433,7 +1443,7 @@ }; const beneficiary = { - V1: { + V2: { parents: 0, interior: { X1: { @@ -1447,7 +1457,7 @@ }; const assets = { - V1: [ + V2: [ { id: { Concrete: { @@ -1503,7 +1513,7 @@ const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice); const uniqueMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: {Parachain: UNIQUE_CHAIN}, @@ -1566,7 +1576,7 @@ const [targetAccount] = await helper.arrange.createAccounts([0n], alice); const uniqueMultilocation = { - V1: { + V2: { parents: 1, interior: { X1: { @@ -1632,5 +1642,4 @@ accountBalance = await helper.balance.getSubstrate(targetAccount.address); expect(accountBalance).to.be.equal(0n); }); - });