difftreelog
build update .env + generateEnv script
in: master
3 files changed
.envdiffbeforeafterboth--- a/.env
+++ b/.env
@@ -3,24 +3,24 @@
RELAY_CHAIN_TYPE=westend
CHAINQL=v0.3.1
-POLKADOT_MAINNET_BRANCH=release-v0.9.42
-STATEMINT_BUILD_BRANCH=release-parachains-v9420
-ACALA_BUILD_BRANCH=2.12.0
-MOONBEAM_BUILD_BRANCH=runtime-2201
-ASTAR_BUILD_BRANCH=v5.3.0
+POLKADOT_MAINNET_BRANCH=release-v0.9.37
+STATEMINT_BUILD_BRANCH=release-parachains-v9370
+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.42
-STATEMINE_BUILD_BRANCH=release-parachains-v9420
-KARURA_BUILD_BRANCH=release-karura-2.15.0
-MOONRIVER_BUILD_BRANCH=runtime-2201
-SHIDEN_BUILD_BRANCH=v4.49.0
+KUSAMA_MAINNET_BRANCH=release-v0.9.38
+STATEMINE_BUILD_BRANCH=release-parachains-v9382
+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.42
-WESTMINT_BUILD_BRANCH=parachains-v9420
+WESTMINT_BUILD_BRANCH=parachains-v9425
OPAL_MAINNET_BRANCH=release-v941055
OPAL_REPLICA_FROM=wss://ws-opal.unique.network:443
tests/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",
tests/src/generateEnv.tsdiffbeforeafterboth1import {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});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 case '57': return 'v5.4.0';66 default: throw new Error('unknown astar branch for runtime ' + r);67 }68 }).then(v => env = setVar(env, 'ASTAR_BUILD_BRANCH', v)),69 ff('wss://shiden.api.onfinality.io/public-ws', /^(.+)$/, (_, r) => {70 switch (r) {71 case '90': return 'v4.49.0';72 case '96': return 'v5.4.0';73 default: throw new Error('unknown shiden branch for runtime ' + r);74 }75 }).then(v => env = setVar(env, 'SHIDEN_BUILD_BRANCH', v)),76 ]);77 console.log(env);78})().catch(e => {79 console.error('Fatal');80 console.error(e.stack);81 process.exit(1);82});