git.delta.rocks / unique-network / refs/commits / 16b8a7a54710

difftreelog

Merge pull request #649 from UniqueNetwork/docker-additional-files

Yaroslav Bolyukin2022-10-14parents: #ba7ab8a #c5a9a78.patch.diff
in: master
Docker additional files

11 files changed

added.docker/additional/xcm-rococo/.envdiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/.env
@@ -0,0 +1,16 @@
+RUST_TOOLCHAIN=nightly-2022-07-24
+UNIQUE_BRANCH="develop"
+
+POLKADOT_BUILD_BRANCH=release-v0.9.29
+
+KARURA_BUILD_BRANCH=2.9.1
+ACALA_BUILD_BRANCH=2.9.2
+
+MOONRIVER_BUILD_BRANCH=runtime-1701
+MOONBEAM_BUILD_BRANCH=runtime-1701
+
+STATEMINE_BUILD_BRANCH=parachains-v9270
+STATEMINT_BUILD_BRANCH=release-parachains-v9230
+WESTMINT_BUILD_BRANCH=parachains-v9270
+
+POLKADOT_LAUNCH_BRANCH="unique-network"
added.docker/additional/xcm-rococo/Dockerfile-xcm-opal-rococodiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/Dockerfile-xcm-opal-rococo
@@ -0,0 +1,89 @@
+ARG CHAIN=opal
+ARG LAUNCH_CONFIG_FILE=launch-config-xcm-opal-rococo.json
+
+# ===== Rust builder =====
+FROM ubuntu:20.04 as rust-builder
+LABEL maintainer="Unique.Network"
+
+ARG RUST_TOOLCHAIN
+ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+RUN apt-get update && \
+    apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev && \
+    apt-get clean && \
+    rm -r /var/lib/apt/lists/*
+
+RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+    rustup toolchain install ${RUST_TOOLCHAIN} && \
+    rustup default ${RUST_TOOLCHAIN} && \
+    rustup target list --installed && \
+    rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+# ===== BUILD ======
+FROM rust-builder as builder-unique
+
+ARG UNIQUE_BRANCH
+ARG CHAIN
+ARG LAUNCH_CONFIG_FILE
+ARG PROFILE=release
+
+WORKDIR /unique_parachain
+#COPY . .
+
+RUN git clone -b ${UNIQUE_BRANCH} https://github.com/UniqueNetwork/unique-chain.git . && \
+#    cd unique-chain && \
+  cargo build --features=${CHAIN}-runtime --$PROFILE
+
+# ===== RUN ======
+FROM ubuntu:20.04
+
+ARG POLKADOT_LAUNCH_BRANCH
+ARG LAUNCH_CONFIG_FILE
+ENV POLKADOT_LAUNCH_BRANCH $POLKADOT_LAUNCH_BRANCH
+ENV LAUNCH_CONFIG_FILE $LAUNCH_CONFIG_FILE
+
+RUN apt-get -y update && \
+      apt-get -y install curl git && \
+      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
+      export NVM_DIR="$HOME/.nvm" && \
+      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+      nvm install v16.16.0 && \
+      nvm use v16.16.0
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b ${POLKADOT_LAUNCH_BRANCH}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    npm install --global yarn && \
+    yarn install
+
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/${LAUNCH_CONFIG_FILE} /polkadot-launch/
+
+COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/
+COPY --from=uniquenetwork/builder-polkadot:${POLKADOT_BUILD_BRANCH} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+COPY --from=uniquenetwork/builder-cumulus:${STATEMINE_BUILD_BRANCH} /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus
+COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/
+
+EXPOSE 9844
+EXPOSE 9944
+EXPOSE 9946
+EXPOSE 9947
+EXPOSE 9948
+
+CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    yarn start ${LAUNCH_CONFIG_FILE}
+
+                                                                                        
added.docker/additional/xcm-rococo/Dockerfile-xcm-quartz-rococodiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/Dockerfile-xcm-quartz-rococo
@@ -0,0 +1,93 @@
+ARG CHAIN=quartz
+ARG LAUNCH_CONFIG_FILE=launch-config-xcm-quartz-rococo.json
+
+# ===== Rust builder =====
+FROM ubuntu:20.04 as rust-builder
+LABEL maintainer="Unique.Network"
+
+ARG RUST_TOOLCHAIN
+ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+RUN apt-get update && \
+    apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev && \
+    apt-get clean && \
+    rm -r /var/lib/apt/lists/*
+
+RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+    rustup toolchain install ${RUST_TOOLCHAIN} && \
+    rustup default ${RUST_TOOLCHAIN} && \
+    rustup target list --installed && \
+    rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+# ===== BUILD ======
+FROM rust-builder as builder-unique
+
+ARG UNIQUE_BRANCH
+ARG CHAIN
+ARG LAUNCH_CONFIG_FILE
+ARG PROFILE=release
+
+WORKDIR /unique_parachain
+#COPY . .
+
+RUN git clone -b ${UNIQUE_BRANCH} https://github.com/UniqueNetwork/unique-chain.git . && \
+#    cd unique-chain && \
+  cargo build --features=${CHAIN}-runtime --$PROFILE
+
+# ===== RUN ======
+FROM ubuntu:20.04
+
+ARG POLKADOT_LAUNCH_BRANCH
+ARG LAUNCH_CONFIG_FILE
+ENV POLKADOT_LAUNCH_BRANCH $POLKADOT_LAUNCH_BRANCH
+ENV LAUNCH_CONFIG_FILE $LAUNCH_CONFIG_FILE
+
+RUN apt-get -y update && \
+      apt-get -y install curl git && \
+      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
+      export NVM_DIR="$HOME/.nvm" && \
+      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+      nvm install v16.16.0 && \
+      nvm use v16.16.0
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b ${POLKADOT_LAUNCH_BRANCH}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    npm install --global yarn && \
+    yarn install
+
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/${LAUNCH_CONFIG_FILE} /polkadot-launch/
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/5validators.jsonnet /polkadot-launch/5validators.jsonnet
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/minBondFix.jsonnet /polkadot-launch/minBondFix.jsonnet
+
+COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/
+COPY --from=uniquenetwork/builder-polkadot:${POLKADOT_BUILD_BRANCH} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+COPY --from=uniquenetwork/builder-moonbeam:${MOONRIVER_BUILD_BRANCH} /unique_parachain/moonbeam/target/release/moonbeam /moonbeam/target/release/
+COPY --from=uniquenetwork/builder-cumulus:${STATEMINE_BUILD_BRANCH} /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus
+COPY --from=uniquenetwork/builder-acala:${KARURA_BUILD_BRANCH} /unique_parachain/Acala/target/production/acala /acala/target/release/
+COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/
+
+EXPOSE 9844
+EXPOSE 9944
+EXPOSE 9946
+EXPOSE 9947
+EXPOSE 9948
+
+CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    yarn start ${LAUNCH_CONFIG_FILE}
+
+                                                                                        
added.docker/additional/xcm-rococo/Dockerfile-xcm-unique-rococodiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/Dockerfile-xcm-unique-rococo
@@ -0,0 +1,93 @@
+ARG CHAIN=unique
+ARG LAUNCH_CONFIG_FILE=launch-config-xcm-unique-rococo.json
+
+# ===== Rust builder =====
+FROM ubuntu:20.04 as rust-builder
+LABEL maintainer="Unique.Network"
+
+ARG RUST_TOOLCHAIN
+ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+RUN apt-get update && \
+    apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev && \
+    apt-get clean && \
+    rm -r /var/lib/apt/lists/*
+
+RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+    rustup toolchain install ${RUST_TOOLCHAIN} && \
+    rustup default ${RUST_TOOLCHAIN} && \
+    rustup target list --installed && \
+    rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+# ===== BUILD ======
+FROM rust-builder as builder-unique
+
+ARG UNIQUE_BRANCH
+ARG CHAIN
+ARG LAUNCH_CONFIG_FILE
+ARG PROFILE=release
+
+WORKDIR /unique_parachain
+#COPY . .
+
+RUN git clone -b ${UNIQUE_BRANCH} https://github.com/UniqueNetwork/unique-chain.git . && \
+#    cd unique-chain && \
+  cargo build --features=${CHAIN}-runtime --$PROFILE
+
+# ===== RUN ======
+FROM ubuntu:20.04
+
+ARG POLKADOT_LAUNCH_BRANCH
+ARG LAUNCH_CONFIG_FILE
+ENV POLKADOT_LAUNCH_BRANCH $POLKADOT_LAUNCH_BRANCH
+ENV LAUNCH_CONFIG_FILE $LAUNCH_CONFIG_FILE
+
+RUN apt-get -y update && \
+      apt-get -y install curl git && \
+      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
+      export NVM_DIR="$HOME/.nvm" && \
+      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+      nvm install v16.16.0 && \
+      nvm use v16.16.0
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b ${POLKADOT_LAUNCH_BRANCH}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    npm install --global yarn && \
+    yarn install
+
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/${LAUNCH_CONFIG_FILE} /polkadot-launch/
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/5validators.jsonnet /polkadot-launch/5validators.jsonnet
+COPY --from=builder-unique /unique_parachain/.docker/xcm-config/minBondFix.jsonnet /polkadot-launch/minBondFix.jsonnet
+
+COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/
+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:${STATEMINT_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-chainql:latest /chainql/target/release/chainql /chainql/target/release/
+
+EXPOSE 9844
+EXPOSE 9944
+EXPOSE 9946
+EXPOSE 9947
+EXPOSE 9948
+
+CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    yarn start ${LAUNCH_CONFIG_FILE}
+
+                                                                                        
added.docker/additional/xcm-rococo/docker-compose-xcm-opal-rococo.ymldiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/docker-compose-xcm-opal-rococo.yml
@@ -0,0 +1,26 @@
+version: "3.5"
+
+services:
+  xcm_opal_rococo:
+    build:
+      context: .
+      dockerfile: .Dockerfile-xcm-opal-rococo
+    container_name: xcm-opal-rococo
+    image: xcm-opal-rococo:latest
+    env_file: .env
+    expose:
+      - 9844
+      - 9944
+      - 9946
+      - 9947
+      - 9948
+    ports:
+      - 127.0.0.1:9844:9844
+      - 127.0.0.1:9944:9944
+      - 127.0.0.1:9946:9946
+      - 127.0.0.1:9947:9947
+      - 127.0.0.1:9948:9948
+    logging:
+      options:
+        max-size: "1m"
+        max-file: "3"
added.docker/additional/xcm-rococo/docker-compose-xcm-quartz-rococo.ymldiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/docker-compose-xcm-quartz-rococo.yml
@@ -0,0 +1,26 @@
+version: "3.5"
+
+services:
+  xcm_quartz_rococo:
+    build:
+      context: .
+      dockerfile: .Dockerfile-xcm-quartz-rococo
+    container_name: xcm-quartz-rococo
+    image: xcm-quartz-rococo:latest
+    env_file: .env
+    expose:
+      - 9844
+      - 9944
+      - 9946
+      - 9947
+      - 9948
+    ports:
+      - 127.0.0.1:9844:9844
+      - 127.0.0.1:9944:9944
+      - 127.0.0.1:9946:9946
+      - 127.0.0.1:9947:9947
+      - 127.0.0.1:9948:9948
+    logging:
+      options:
+        max-size: "1m"
+        max-file: "3"
added.docker/additional/xcm-rococo/docker-compose-xcm-unique-rococo.ymldiffbeforeafterboth
--- /dev/null
+++ b/.docker/additional/xcm-rococo/docker-compose-xcm-unique-rococo.yml
@@ -0,0 +1,26 @@
+version: "3.5"
+
+services:
+  xcm_unique_rococo:
+    build:
+      context: .
+      dockerfile: .Dockerfile-xcm-unique-rococo
+    container_name: xcm-unique-rococo
+    image: xcm-unique-rococo:latest
+    env_file: .env
+    expose:
+      - 9844
+      - 9944
+      - 9946
+      - 9947
+      - 9948
+    ports:
+      - 127.0.0.1:9844:9844
+      - 127.0.0.1:9944:9944
+      - 127.0.0.1:9946:9946
+      - 127.0.0.1:9947:9947
+      - 127.0.0.1:9948:9948
+    logging:
+      options:
+        max-size: "1m"
+        max-file: "3"
added.docker/xcm-config/launch-config-xcm-opal-rococo.jsondiffbeforeafterboth
--- /dev/null
+++ b/.docker/xcm-config/launch-config-xcm-opal-rococo.json
@@ -0,0 +1,134 @@
+{
+    "relaychain": {
+        "bin": "/polkadot/target/release/polkadot",
+        "chain": "rococo-local",
+        "chainInitializer": [
+                "chainql",
+                "--tla-code=spec=import '${spec}'",
+                "5validators.jsonnet"
+            ],	
+        "nodes": [
+            {
+                "name": "alice",
+                "wsPort": 9844,
+                "rpcPort": 9843,
+                "port": 30444,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "bob",
+                "wsPort": 9855,
+                "rpcPort": 9854,
+                "port": 30555,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "charlie",
+                "wsPort": 9866,
+                "rpcPort": 9865,
+                "port": 30666,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "dave",
+                "wsPort": 9877,
+                "rpcPort": 9876,
+                "port": 30777,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "eve",
+                "wsPort": 9888,
+                "rpcPort": 9887,
+                "port": 30888,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            }
+
+        ],
+        "genesis": {
+            "runtime": {
+                "runtime_genesis_config": {
+                    "parachainsConfiguration": {
+                        "config": {
+                            "validation_upgrade_frequency": 1,
+                            "validation_upgrade_delay": 1
+                        }
+                    }
+                }
+            }
+        }
+    },
+    "parachains": [
+        {
+            "bin": "/unique-chain/target/release/unique-collator",
+            "id": "2095",
+            "balance": "1000000000000000000000000",
+            "nodes": [
+                {
+                    "port": 31200,
+                    "wsPort": 9944,
+                    "rpcPort": 9933,
+                    "name": "alice",
+                    "flags": [
+                       "--unsafe-rpc-external",
+                       "--unsafe-ws-external"
+		    ]
+                }
+            ]
+        },
+        {
+            "bin": "/cumulus/target/release/cumulus",
+            "id": "1000",
+            "chain": "westmint-local",
+            "balance": "1000000000000000000000000",
+            "nodes": [
+                {
+                    "wsPort": 9948,
+                    "port": 31204,
+                    "name": "alice",
+                    "flags": [
+                       "--unsafe-rpc-external",
+                       "--unsafe-ws-external"
+                    ]
+                }
+            ]
+        }
+    ],
+    "simpleParachains": [],
+    "hrmpChannels": [
+        {
+            "sender": 2095,
+            "recipient": 1000,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 1000,
+            "recipient": 2095,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        }
+    ],
+    "finalization": false
+}
+
added.docker/xcm-config/launch-config-xcm-quartz-rococo.jsondiffbeforeafterboth
--- /dev/null
+++ b/.docker/xcm-config/launch-config-xcm-quartz-rococo.json
@@ -0,0 +1,199 @@
+{
+    "relaychain": {
+        "bin": "/polkadot/target/release/polkadot",
+        "chain": "rococo-local",
+        "chainInitializer": [
+                "chainql",
+                "--tla-code=spec=import '${spec}'",
+                "5validators.jsonnet"
+            ],	
+        "nodes": [
+            {
+                "name": "alice",
+                "wsPort": 9844,
+                "rpcPort": 9843,
+                "port": 30444,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "bob",
+                "wsPort": 9855,
+                "rpcPort": 9854,
+                "port": 30555,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "charlie",
+                "wsPort": 9866,
+                "rpcPort": 9865,
+                "port": 30666,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "dave",
+                "wsPort": 9877,
+                "rpcPort": 9876,
+                "port": 30777,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "eve",
+                "wsPort": 9888,
+                "rpcPort": 9887,
+                "port": 30888,
+                "flags": [
+                    "--unsafe-rpc-external",
+                    "--unsafe-ws-external",
+                    "-lparachain::candidate_validation=debug"
+                ]
+            }
+
+        ],
+        "genesis": {
+            "runtime": {
+                "runtime_genesis_config": {
+                    "parachainsConfiguration": {
+                        "config": {
+                            "validation_upgrade_frequency": 1,
+                            "validation_upgrade_delay": 1
+                        }
+                    }
+                }
+            }
+        }
+    },
+    "parachains": [
+        {
+            "bin": "/unique-chain/target/release/unique-collator",
+            "id": "2095",
+            "balance": "1000000000000000000000000",
+            "nodes": [
+                {
+                    "port": 31200,
+                    "wsPort": 9944,
+                    "rpcPort": 9933,
+                    "name": "alice",
+                    "flags": [
+                       "--unsafe-rpc-external",
+                       "--unsafe-ws-external"
+		    ]
+                }
+            ]
+        },
+        {
+            "bin": "/acala/target/release/acala",
+            "id": "2000",
+            "chain":  "karura-dev",
+            "balance": "1000000000000000000000",
+            "nodes": [
+                {
+                    "wsPort": 9946,
+                    "port": 31202,
+                    "name": "alice",
+                    "flags": [
+                       "--unsafe-rpc-external",
+                       "--unsafe-ws-external"
+                     ]
+                }
+              ]
+        },
+        {
+            "bin": "/moonbeam/target/release/moonbeam",
+            "id": 2023,
+            "balance": "1000000000000000000000",
+            "chain": "moonriver-local",
+            "chainInitializer": [
+                "chainql",
+                "--tla-code=spec=import '${spec}'",
+                "minBondFix.jsonnet"
+            ],		    
+            "nodes": [
+                {
+                    "wsPort": 9947,
+                    "port": 31203,
+                    "name": "alice",
+                    "flags": [
+                       "--unsafe-rpc-external",
+                       "--unsafe-ws-external",
+                        "--",
+                        "--execution=wasm"
+                    ]
+                }
+            ]
+        },
+        {
+            "bin": "/cumulus/target/release/cumulus",
+            "id": "1000",
+            "chain": "statemine-local",
+            "balance": "1000000000000000000000000",
+            "nodes": [
+                {
+                    "wsPort": 9948,
+                    "port": 31204,
+                    "name": "alice",
+                    "flags": [
+                       "--unsafe-rpc-external",
+                       "--unsafe-ws-external"
+                    ]
+                }
+            ]
+        }
+    ],
+    "simpleParachains": [],
+    "hrmpChannels": [
+        {
+            "sender": 2095,
+            "recipient": 2000,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 2000,
+            "recipient": 2095,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 2095,
+            "recipient": 2023,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 2023,
+            "recipient": 2095,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 2095,
+            "recipient": 1000,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 1000,
+            "recipient": 2095,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        }
+    ],
+    "finalization": false
+}
+
modified.envdiffbeforeafterboth
--- a/.env
+++ b/.env
@@ -1,5 +1,5 @@
 RUST_TOOLCHAIN=nightly-2022-07-24
-POLKADOT_BUILD_BRANCH=release-v0.9.27
+POLKADOT_BUILD_BRANCH=release-v0.9.29
 
 POLKADOT_MAINNET_BRANCH=release-v0.9.26
 UNIQUE_MAINNET_TAG=v924010
@@ -13,7 +13,7 @@
 QUARTZ_REPLICA_FROM=wss://eu-ws-quartz.unique.network:443
 UNIQUE_REPLICA_FROM=wss://eu-ws.unique.network:443
 
-POLKADOT_LAUNCH_BRANCH=feature/rewrite-chain-id-in-spec
+POLKADOT_LAUNCH_BRANCH=unique-network
 
 KARURA_BUILD_BRANCH=2.9.1
 ACALA_BUILD_BRANCH=2.9.2
modified.github/workflows/testnet-build.ymldiffbeforeafterboth
before · .github/workflows/testnet-build.yml
1name: testnet-build23# Controls when the action will run.4on:5 # Triggers the workflow on push or pull request events but only for the master branch6  pull_request:7    branches:8      - master9    types:10      - opened11      - reopened12      - synchronize   #commit(s) pushed to the pull request13      - ready_for_review1415  # Allows you to run this workflow manually from the Actions tab16  workflow_dispatch:1718#Define Workflow variables19env:20  REPO_URL: ${{ github.server_url }}/${{ github.repository }}2122concurrency:23  group: ${{ github.workflow }}-${{ github.ref }}24  cancel-in-progress: true2526# A workflow run is made up of one or more jobs that can run sequentially or in parallel27jobs:2829  prepare-execution-marix:3031    name: Prepare execution matrix3233    runs-on: [self-hosted-ci,medium]34    outputs:35      matrix: ${{ steps.create_matrix.outputs.matrix }}3637    steps:3839      - name: Clean Workspace40        uses: AutoModality/action-clean@v1.1.04142      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it43      - uses: actions/checkout@v344        with:45          ref: ${{ github.head_ref }}  #Checking out head commit4647      - name: Read .env file48        uses: xom9ikk/dotenv@v1.0.24950      - name: Create Execution matrix51        uses: fabiocaccamo/create-matrix-action@v252        id: create_matrix53        with:54          matrix: |55            network {opal}, runtime {opal}, features {opal-runtime}56            network {quartz}, runtime {quartz}, features {quartz-runtime}57            network {unique}, runtime {unique}, features {unique-runtime}5859  testnet-build:60    needs: prepare-execution-marix61    # The type of runner that the job will run on62    runs-on: [self-hosted-ci,medium]6364    timeout-minutes: 6006566    name: ${{ matrix.network }}6768    continue-on-error: true         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.6970    strategy:71      matrix:72        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}7374    steps:75      - name: Skip if pull request is in Draft76        if: github.event.pull_request.draft == true77        run: exit 17879      - name: Clean Workspace80        uses: AutoModality/action-clean@v1.1.08182      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it83      - uses: actions/checkout@v384        with:85          ref: ${{ github.head_ref }}  #Checking out head commit8687      - name: Read .env file88        uses: xom9ikk/dotenv@v1.0.28990      - name: Generate ENV related extend file for docker-compose91        uses: cuchi/jinja2-action@v1.2.092        with:93          template: .docker/Dockerfile-testnet.j294          output_file: .docker/Dockerfile-testnet.${{ matrix.network }}.yml95          variables: |96            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}97            NETWORK=${{ matrix.network }}98            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}99            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}100            FEATURE=${{ matrix.features }}101            RUNTIME=${{ matrix.runtime }}102            BRANCH=${{ github.head_ref }}103104      - name: Show build configuration105        run: cat .docker/Dockerfile-testnet.${{ matrix.network }}.yml106107      - name: Show launch-config configuration108        run: cat launch-config.json109110      - name: Run find-and-replace to remove slashes from branch name111        uses: mad9000/actions-find-and-replace-string@2112        id: branchname113        with:114          source: ${{ github.head_ref }}115          find: '/'116          replace: '-'117118      - name: Log in to Docker Hub119        uses: docker/login-action@v2.0.0120        with:121          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}122          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}123124      - name: Pull polkadot docker image125        run: docker pull uniquenetwork/builder-polkadot:${{ env.POLKADOT_BUILD_BRANCH }}           126127      - name: Build the stack128        run: cd .docker/ && docker build --file ./Dockerfile-testnet.${{ matrix.network }}.yml --tag uniquenetwork/${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }} --tag uniquenetwork/${{ matrix.network }}-testnet-local:latest . 129130      - name: Push docker version image131        run: docker push uniquenetwork/${{ matrix.network }}-testnet-local:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }}132133      - name: Push docker latest image134        run: docker push uniquenetwork/${{ matrix.network }}-testnet-local:latest135136      - name: Clean Workspace137        if: always()138        uses: AutoModality/action-clean@v1.1.0139140      - name: Remove builder cache141        if: always()                   # run this step always142        run: |143          docker builder prune -f144          docker system prune -f
after · .github/workflows/testnet-build.yml
1name: testnet-build23# Controls when the action will run.4on:5 # Triggers the workflow on push or pull request events but only for the master branch6  pull_request:7    branches:8      - master9    types:10      - opened11      - reopened12      - synchronize   #commit(s) pushed to the pull request13      - ready_for_review1415  # Allows you to run this workflow manually from the Actions tab16  workflow_dispatch:1718#Define Workflow variables19env:20  REPO_URL: ${{ github.server_url }}/${{ github.repository }}2122concurrency:23  group: ${{ github.workflow }}-${{ github.ref }}24  cancel-in-progress: true2526# A workflow run is made up of one or more jobs that can run sequentially or in parallel27jobs:2829  prepare-execution-marix:3031    name: Prepare execution matrix3233    runs-on: [self-hosted-ci,medium]34    outputs:35      matrix: ${{ steps.create_matrix.outputs.matrix }}3637    steps:3839      - name: Clean Workspace40        uses: AutoModality/action-clean@v1.1.04142      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it43      - uses: actions/checkout@v344        with:45          ref: ${{ github.head_ref }}  #Checking out head commit4647      - name: Read .env file48        uses: xom9ikk/dotenv@v1.0.24950      - name: Create Execution matrix51        uses: fabiocaccamo/create-matrix-action@v252        id: create_matrix53        with:54          matrix: |55            network {opal}, runtime {opal}, features {opal-runtime}56            network {quartz}, runtime {quartz}, features {quartz-runtime}57            network {unique}, runtime {unique}, features {unique-runtime}5859  testnet-build:60    needs: prepare-execution-marix61    # The type of runner that the job will run on62    runs-on: [self-hosted-ci,medium]6364    timeout-minutes: 6006566    name: ${{ matrix.network }}6768    continue-on-error: true         #Do not stop testing of matrix runs failed.  As it decided during PR review - it required 50/50& Let's check it with false.6970    strategy:71      matrix:72        include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}7374    steps:75      - name: Skip if pull request is in Draft76        if: github.event.pull_request.draft == true77        run: exit 17879      - name: Clean Workspace80        uses: AutoModality/action-clean@v1.1.08182      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it83      - uses: actions/checkout@v384        with:85          ref: ${{ github.head_ref }}  #Checking out head commit8687      - name: Read .env file88        uses: xom9ikk/dotenv@v1.0.28990      - name: Generate ENV related extend file for docker-compose91        uses: cuchi/jinja2-action@v1.2.092        with:93          template: .docker/Dockerfile-testnet.j294          output_file: .docker/Dockerfile-testnet.${{ matrix.network }}.yml95          variables: |96            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}97            NETWORK=${{ matrix.network }}98            POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}99            POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}100            FEATURE=${{ matrix.features }}101            RUNTIME=${{ matrix.runtime }}102            BRANCH=${{ github.head_ref }}103104      - name: Show build configuration105        run: cat .docker/Dockerfile-testnet.${{ matrix.network }}.yml106107      - name: Show launch-config configuration108        run: cat launch-config.json109110      - name: Run find-and-replace to remove slashes from branch name111        uses: mad9000/actions-find-and-replace-string@2112        id: branchname113        with:114          source: ${{ github.head_ref }}115          find: '/'116          replace: '-'117118      - name: Log in to Docker Hub119        uses: docker/login-action@v2.0.0120        with:121          username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}122          password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}123124      - name: Pull polkadot docker image125        run: docker pull uniquenetwork/builder-polkadot:${{ env.POLKADOT_BUILD_BRANCH }}           126127      - name: Build the stack128        run: cd .docker/ && docker build --file ./Dockerfile-testnet.${{ matrix.network }}.yml --tag uniquenetwork/${{ matrix.network }}-testnet-local-nightly:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }} . 129130      - name: Push docker version image131        run: docker push uniquenetwork/${{ matrix.network }}-testnet-local-nightly:nightly-${{ steps.branchname.outputs.value }}-${{ github.sha }}132133      - name: Clean Workspace134        if: always()135        uses: AutoModality/action-clean@v1.1.0136137      - name: Remove builder cache138        if: always()                   # run this step always139        run: |140          docker builder prune -f141          docker system prune -f