From e31d9d0ed8266a6476ebb7bde42b85cd43e4fec0 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Tue, 31 Jan 2023 11:28:12 +0000 Subject: [PATCH] Merge pull request #868 from UniqueNetwork/feature/update-env Update .env --- --- a/.env +++ b/.env @@ -1,27 +1,27 @@ RUST_TOOLCHAIN=nightly-2022-11-15 -POLKADOT_BUILD_BRANCH=release-v0.9.36 +POLKADOT_BUILD_BRANCH=release-v0.9.37 POLKADOT_LAUNCH_BRANCH=unique-network RELAY_CHAIN_TYPE=westend -POLKADOT_MAINNET_BRANCH=release-v0.9.30 -STATEMINT_BUILD_BRANCH=release-parachains-v9320 -ACALA_BUILD_BRANCH=2.11.0 -MOONBEAM_BUILD_BRANCH=runtime-1901 +POLKADOT_MAINNET_BRANCH=release-v0.9.34 +STATEMINT_BUILD_BRANCH=release-parachains-v9360 +ACALA_BUILD_BRANCH=2.12.0 +MOONBEAM_BUILD_BRANCH=runtime-2000 UNIQUE_MAINNET_BRANCH=release-v930033-fix-gas-price -UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:443 +UNIQUE_REPLICA_FROM=wss://ws.unique.network:443 -KUSAMA_MAINNET_BRANCH=release-v0.9.36 -STATEMINE_BUILD_BRANCH=release-parachains-v9330 -KARURA_BUILD_BRANCH=release-karura-2.11.0 +KUSAMA_MAINNET_BRANCH=release-v0.9.37 +STATEMINE_BUILD_BRANCH=release-parachains-v9360 +KARURA_BUILD_BRANCH=release-karura-2.12.0 MOONRIVER_BUILD_BRANCH=runtime-2000 QUARTZ_MAINNET_BRANCH=release-v930034-fix-gas-price -QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:443 +QUARTZ_REPLICA_FROM=wss://ws-quartz.unique.network:443 -UNIQUEWEST_MAINNET_BRANCH=release-v0.9.36 -WESTMINT_BUILD_BRANCH=parachains-v9330 -OPAL_MAINNET_BRANCH=release-v936040 -OPAL_REPLICA_FROM=wss://eu-ws-opal.unique.network:443 +UNIQUEWEST_MAINNET_BRANCH=release-v0.9.37 +WESTMINT_BUILD_BRANCH=parachains-v9370 +OPAL_MAINNET_BRANCH=release-v936050 +OPAL_REPLICA_FROM=wss://ws-opal.unique.network:443 UNIQUEEAST_MAINNET_BRANCH=release-v0.9.32 SAPPHIRE_MAINNET_BRANCH=release-v936040 -SAPPHIRE_REPLICA_FROM=wss://eu-ws-sapphire.unique.network:443 +SAPPHIRE_REPLICA_FROM=wss://ws-sapphire.unique.network:443 --- /dev/null +++ b/tests/src/generateEnv.ts @@ -0,0 +1,50 @@ +import {ApiPromise, WsProvider} from '@polkadot/api'; +import {readFile} from 'fs/promises'; +import {join} from 'path'; + +async function fetchVersion(chain: string): Promise { + const api = await ApiPromise.create({provider: new WsProvider(chain)}); + const last = (await api.query.system.lastRuntimeUpgrade()).toJSON(); + await api.disconnect(); + return (last as any).specVersion.toString(); +} + +function setVar(env: string, key: string, value: string): string { + return env.replace(new RegExp(`${key}=.+?\n`), `${key}=${value}\n`); +} +// Fetch and format version string +async function ff(url: string, regex: RegExp, rep: string): Promise { + const ver = await fetchVersion(url); + if (ver.match(regex) === null) + throw new Error(`bad regex for ${url}`); + return ver.replace(regex, rep); +} + +(async () => { + let env = (await readFile(join(__dirname, '../../.env'))).toString(); + await Promise.all([ + ff('wss://rpc.polkadot.io/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'POLKADOT_MAINNET_BRANCH', v)), + ff('wss://statemint-rpc.polkadot.io/', /^(....)$/, 'release-parachains-v$1').then(v => env = setVar(env, 'STATEMINT_BUILD_BRANCH', v)), + ff('wss://acala-rpc-0.aca-api.network/', /^(.)(..)(.)$/, '$1.$2.$3').then(v => env = setVar(env, 'ACALA_BUILD_BRANCH', v)), + ff('wss://wss.api.moonbeam.network/', /^(....)$/, 'runtime-$1').then(v => env = setVar(env, 'MOONBEAM_BUILD_BRANCH', v)), + ff('wss://ws.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'UNIQUE_MAINNET_BRANCH', v)), + + ff('wss://kusama-rpc.polkadot.io/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'KUSAMA_MAINNET_BRANCH', v)), + ff('wss://statemine-rpc.polkadot.io/', /^(....)$/, 'release-parachains-v$1').then(v => env = setVar(env, 'STATEMINE_BUILD_BRANCH', v)), + ff('wss://karura-rpc-0.aca-api.network/', /^(.)(..)(.)$/, 'release-karura-$1.$2.$3').then(v => env = setVar(env, 'KARURA_BUILD_BRANCH', v)), + ff('wss://wss.api.moonriver.moonbeam.network/', /^(....)$/, 'runtime-$1').then(v => env = setVar(env, 'MOONRIVER_BUILD_BRANCH', v)), + ff('wss://ws-quartz.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'QUARTZ_MAINNET_BRANCH', v)), + + ff('wss://westend-rpc.polkadot.io/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'UNIQUEWEST_MAINNET_BRANCH', v)), + ff('wss://westmint-rpc.polkadot.io/', /^(....)$/, 'parachains-v$1').then(v => env = setVar(env, 'WESTMINT_BUILD_BRANCH', v)), + ff('wss://ws-opal.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'OPAL_MAINNET_BRANCH', v)), + + ff('wss://ws-eastend.unique.network/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'UNIQUEEAST_MAINNET_BRANCH', v)), + ff('wss://ws-sapphire.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'SAPPHIRE_MAINNET_BRANCH', v)), + ]); + console.log(env); + process.exit(0); +})().catch(e => { + console.error(e.stack); + process.exit(1); +}); -- gitstuff