git.delta.rocks / unique-network / refs/commits / ac58597758fc

difftreelog

Merge pull request #936 from UniqueNetwork/build/941056

Yaroslav Bolyukin2023-05-24parents: #7bf7837 #748c609.patch.diff
in: master

9 files changed

modified.envdiffbeforeafterboth
--- 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
modifiedREADME.mddiffbeforeafterboth
--- 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.41
 cargo build --release
 ```
 
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -51,7 +51,7 @@
 	spec_name: create_runtime_str!(RUNTIME_NAME),
 	impl_name: create_runtime_str!(RUNTIME_NAME),
 	authoring_version: 1,
-	spec_version: 941055,
+	spec_version: 941056,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 3,
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -54,7 +54,7 @@
 	spec_name: create_runtime_str!(RUNTIME_NAME),
 	impl_name: create_runtime_str!(RUNTIME_NAME),
 	authoring_version: 1,
-	spec_version: 941055,
+	spec_version: 941056,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 3,
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -51,7 +51,7 @@
 	spec_name: create_runtime_str!(RUNTIME_NAME),
 	impl_name: create_runtime_str!(RUNTIME_NAME),
 	authoring_version: 1,
-	spec_version: 941055,
+	spec_version: 941056,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 3,
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -116,7 +116,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",
modifiedtests/src/generateEnv.tsdiffbeforeafterboth
before · tests/src/generateEnv.ts
1import {ApiPromise, WsProvider} from '@polkadot/api';2import {readFile} from 'fs/promises';3import {join} from 'path';4import {makeNames} from './util';56const {dirname} = makeNames(import.meta.url);78async function fetchVersion(chain: string): Promise<string> {9  const api = await ApiPromise.create({provider: new WsProvider(chain)});10  const last = (await api.query.system.lastRuntimeUpgrade()).toJSON();11  await api.disconnect();12  return (last as any).specVersion.toString();13}1415function setVar(env: string, key: string, value: string): string {16  let found = false;17  const newEnv = env.replace(new RegExp(`${key}=.+?\n`), () => {18    found = true;19    return `${key}=${value}\n`;20  });21  if (!found) throw new Error(`env key "${key}" is not found`);22  return newEnv;23}2425// Fetch and format version string26async function ff(url: string, regex: RegExp, rep: string | ((substring: string, ...params:any[]) => string)): Promise<string> {27  const ver = await fetchVersion(url);28  if (ver.match(regex) === null)29    throw new Error(`bad regex for ${url}`);30  return ver.replace(regex, rep as any);31}32function fixupUnique(version: string): string {33  if (version === 'release-v930033')34    return 'release-v930033-fix-gas-price';35  if (version === 'release-v930034')36    return 'release-v930034-fix-gas-price';37  return version;38}3940(async () => {41  let env = (await readFile(join(dirname, '../../.env'))).toString();42  await Promise.all([43    ff('wss://rpc.polkadot.io/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'POLKADOT_MAINNET_BRANCH', v)),44    ff('wss://statemint-rpc.polkadot.io/', /^(....)$/, 'release-parachains-v$1').then(v => env = setVar(env, 'STATEMINT_BUILD_BRANCH', v)),45    ff('wss://acala-rpc-0.aca-api.network/', /^(.)(..)(.)$/, '$1.$2.$3').then(v => env = setVar(env, 'ACALA_BUILD_BRANCH', v)),46    ff('wss://wss.api.moonbeam.network/', /^(....)$/, 'runtime-$1').then(v => env = setVar(env, 'MOONBEAM_BUILD_BRANCH', v)),47    ff('wss://ws.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'UNIQUE_MAINNET_BRANCH', fixupUnique(v))),4849    ff('wss://kusama-rpc.polkadot.io/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'KUSAMA_MAINNET_BRANCH', v)),50    ff('wss://statemine-rpc.polkadot.io/', /^(....)$/, 'release-parachains-v$1').then(v => env = setVar(env, 'STATEMINE_BUILD_BRANCH', v)),51    ff('wss://karura-rpc-0.aca-api.network/', /^(.)(..)(.)$/, 'release-karura-$1.$2.$3').then(v => env = setVar(env, 'KARURA_BUILD_BRANCH', v)),52    ff('wss://wss.api.moonriver.moonbeam.network/', /^(....)$/, 'runtime-$1').then(v => env = setVar(env, 'MOONRIVER_BUILD_BRANCH', v)),53    ff('wss://ws-quartz.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'QUARTZ_MAINNET_BRANCH', fixupUnique(v))),5455    ff('wss://ws-westend.unique.network/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'UNIQUEWEST_MAINNET_BRANCH', v)),56    ff('wss://westmint-rpc.polkadot.io/', /^(....)$/, 'parachains-v$1').then(v => env = setVar(env, 'WESTMINT_BUILD_BRANCH', v)),57    ff('wss://ws-opal.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'OPAL_MAINNET_BRANCH', fixupUnique(v))),5859    ff('wss://ws-eastend.unique.network/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'UNIQUEEAST_MAINNET_BRANCH', v)),60    ff('wss://ws-sapphire.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'SAPPHIRE_MAINNET_BRANCH', fixupUnique(v))),6162    ff('wss://rpc.astar.network/', /^(.+)$/, (_, r) => {63      switch (r) {64        case '55': return 'v5.3.0';65        default: throw new Error('unknown astar branch for runtime ' + r);66      }67    }).then(v => env = setVar(env, 'ASTAR_BUILD_BRANCH', v)),68    ff('wss://shiden.api.onfinality.io/public-ws', /^(.+)$/, (_, r) => {69      switch (r) {70        case '90': return 'v4.49.0';71        default: throw new Error('unknown shiden branch for runtime ' + r);72      }73    }).then(v => env = setVar(env, 'SHIDEN_BUILD_BRANCH', v)),74  ]);75  console.log(env);76})().catch(e => {77  console.error('Fatal');78  console.error(e.stack);79  process.exit(1);80});
modifiedtests/src/xcm/xcmQuartz.test.tsdiffbeforeafterboth
--- a/tests/src/xcm/xcmQuartz.test.ts
+++ b/tests/src/xcm/xcmQuartz.test.ts
@@ -803,6 +803,7 @@
   let quartzParachainMultilocation: any;
   let quartzAccountMultilocation: any;
   let quartzCombinedMultilocation: any;
+  let quartzCombinedMultilocationKarura: any; // TODO remove it when Karura goes V2
 
   let messageSent: any;
 
@@ -821,7 +822,7 @@
       };
 
       quartzParachainMultilocation = {
-        V1: {
+        V2: {
           parents: 1,
           interior: {
             X1: quartzParachainJunction,
@@ -830,7 +831,7 @@
       };
 
       quartzAccountMultilocation = {
-        V1: {
+        V2: {
           parents: 0,
           interior: {
             X1: quartzAccountJunction,
@@ -839,6 +840,15 @@
       };
 
       quartzCombinedMultilocation = {
+        V2: {
+          parents: 1,
+          interior: {
+            X2: [quartzParachainJunction, quartzAccountJunction],
+          },
+        },
+      };
+
+      quartzCombinedMultilocationKarura = {
         V1: {
           parents: 1,
           interior: {
@@ -869,7 +879,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);
@@ -895,7 +905,7 @@
       const destinationParachain = quartzParachainMultilocation;
       const beneficiary = quartzAccountMultilocation;
       const assets = {
-        V1: [{
+        V2: [{
           id: {
             Concrete: {
               parents: 0,
@@ -1069,7 +1079,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,
@@ -1084,7 +1094,7 @@
         },
       };
       const destination = {
-        V1: {
+        V2: {
           parents: 1,
           interior: {
             X2: [
@@ -1139,7 +1149,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice);
 
     const quartzMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {Parachain: QUARTZ_CHAIN},
@@ -1212,7 +1222,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([0n], alice);
 
     const quartzMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {
@@ -1341,7 +1351,7 @@
 
       console.log('2. Register asset location on Shiden');
       const assetLocation = {
-        V1: {
+        V2: {
           parents: 1,
           interior: {
             X1: {
@@ -1433,7 +1443,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: {
@@ -1444,7 +1454,7 @@
       };
 
       const beneficiary = {
-        V1: {
+        V2: {
           parents: 0,
           interior: {
             X1: {
@@ -1458,7 +1468,7 @@
       };
 
       const assets = {
-        V1: [
+        V2: [
           {
             id: {
               Concrete: {
@@ -1515,7 +1525,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice);
 
     const quartzMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {Parachain: QUARTZ_CHAIN},
@@ -1580,7 +1590,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([0n], alice);
 
     const quartzMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {
modifiedtests/src/xcm/xcmUnique.test.tsdiffbeforeafterboth
--- a/tests/src/xcm/xcmUnique.test.ts
+++ b/tests/src/xcm/xcmUnique.test.ts
@@ -805,6 +805,7 @@
   let uniqueParachainMultilocation: any;
   let uniqueAccountMultilocation: any;
   let uniqueCombinedMultilocation: any;
+  let uniqueCombinedMultilocationAcala: any; // TODO remove when Acala goes V2
 
   let messageSent: any;
 
@@ -823,7 +824,7 @@
       };
 
       uniqueParachainMultilocation = {
-        V1: {
+        V2: {
           parents: 1,
           interior: {
             X1: uniqueParachainJunction,
@@ -832,7 +833,7 @@
       };
 
       uniqueAccountMultilocation = {
-        V1: {
+        V2: {
           parents: 0,
           interior: {
             X1: uniqueAccountJunction,
@@ -841,6 +842,15 @@
       };
 
       uniqueCombinedMultilocation = {
+        V2: {
+          parents: 1,
+          interior: {
+            X2: [uniqueParachainJunction, uniqueAccountJunction],
+          },
+        },
+      };
+
+      uniqueCombinedMultilocationAcala = {
         V1: {
           parents: 1,
           interior: {
@@ -871,7 +881,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);
@@ -897,7 +907,7 @@
       const destinationParachain = uniqueParachainMultilocation;
       const beneficiary = uniqueAccountMultilocation;
       const assets = {
-        V1: [{
+        V2: [{
           id: {
             Concrete: {
               parents: 0,
@@ -1072,7 +1082,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,
@@ -1087,7 +1097,7 @@
         },
       };
       const destination = {
-        V1: {
+        V2: {
           parents: 1,
           interior: {
             X2: [
@@ -1142,7 +1152,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice);
 
     const uniqueMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {Parachain: UNIQUE_CHAIN},
@@ -1215,7 +1225,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([0n], alice);
 
     const uniqueMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {
@@ -1344,7 +1354,7 @@
 
       console.log('2. Register asset location on Astar');
       const assetLocation = {
-        V1: {
+        V2: {
           parents: 1,
           interior: {
             X1: {
@@ -1436,7 +1446,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: {
@@ -1447,7 +1457,7 @@
       };
 
       const beneficiary = {
-        V1: {
+        V2: {
           parents: 0,
           interior: {
             X1: {
@@ -1461,7 +1471,7 @@
       };
 
       const assets = {
-        V1: [
+        V2: [
           {
             id: {
               Concrete: {
@@ -1517,7 +1527,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([targetAccountBalance], alice);
 
     const uniqueMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {Parachain: UNIQUE_CHAIN},
@@ -1582,7 +1592,7 @@
     const [targetAccount] = await helper.arrange.createAccounts([0n], alice);
 
     const uniqueMultilocation = {
-      V1: {
+      V2: {
         parents: 1,
         interior: {
           X1: {
@@ -1652,5 +1662,4 @@
     accountBalance = await helper.balance.getSubstrate(targetAccount.address);
     expect(accountBalance).to.be.equal(0n);
   });
-
 });