difftreelog
Merge pull request #1069 from UniqueNetwork/fix/ci-polkadot-1.9
in: master
29 files changed
.docker/Dockerfile-acala.j2diffbeforeafterboth--- a/.docker/Dockerfile-acala.j2
+++ b/.docker/Dockerfile-acala.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-astar.j2diffbeforeafterboth--- a/.docker/Dockerfile-astar.j2
+++ b/.docker/Dockerfile-astar.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-chain-devdiffbeforeafterboth--- a/.docker/Dockerfile-chain-dev
+++ b/.docker/Dockerfile-chain-dev
@@ -14,6 +14,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install $RUST_TOOLCHAIN && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
RUN mkdir /dev_chain
.docker/Dockerfile-chain-dev-unitdiffbeforeafterboth--- a/.docker/Dockerfile-chain-dev-unit
+++ b/.docker/Dockerfile-chain-dev-unit
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install $RUST_TOOLCHAIN && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
RUN mkdir /dev_chain
.docker/Dockerfile-collators.j2diffbeforeafterboth--- a/.docker/Dockerfile-collators.j2
+++ b/.docker/Dockerfile-collators.j2
@@ -9,6 +9,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-cumulus.j2diffbeforeafterboth--- a/.docker/Dockerfile-cumulus.j2
+++ b/.docker/Dockerfile-cumulus.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-hydradx.j2diffbeforeafterboth--- a/.docker/Dockerfile-hydradx.j2
+++ b/.docker/Dockerfile-hydradx.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-moonbeam.j2diffbeforeafterboth--- a/.docker/Dockerfile-moonbeam.j2
+++ b/.docker/Dockerfile-moonbeam.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-parachaindiffbeforeafterboth--- a/.docker/Dockerfile-parachain
+++ b/.docker/Dockerfile-parachain
@@ -12,6 +12,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install $RUST_TOOLCHAIN && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
@@ -42,12 +43,12 @@
ARG POLKADOT_LAUNCH_BRANCH=
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
+ 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}
.docker/Dockerfile-parachain-upgrade-data.j2diffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade-data.j2
+++ b/.docker/Dockerfile-parachain-upgrade-data.j2
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-parachain-upgrade.j2diffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade.j2
+++ b/.docker/Dockerfile-parachain-upgrade.j2
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-polkadex.j2diffbeforeafterboth--- a/.docker/Dockerfile-polkadex.j2
+++ b/.docker/Dockerfile-polkadex.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-polkadot.j2diffbeforeafterboth--- a/.docker/Dockerfile-polkadot.j2
+++ b/.docker/Dockerfile-polkadot.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-testnet.j2diffbeforeafterboth--- a/.docker/Dockerfile-testnet.j2
+++ b/.docker/Dockerfile-testnet.j2
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-try-runtime.j2diffbeforeafterboth--- a/.docker/Dockerfile-try-runtime.j2
+++ b/.docker/Dockerfile-try-runtime.j2
@@ -10,6 +10,7 @@
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
rustup target list --installed && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-uniquediffbeforeafterboth--- a/.docker/Dockerfile-unique
+++ b/.docker/Dockerfile-unique
@@ -19,6 +19,7 @@
rustup toolchain install $RUST_TOOLCHAIN && \
rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN} && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-unique-releasediffbeforeafterboth--- a/.docker/Dockerfile-unique-release
+++ b/.docker/Dockerfile-unique-release
@@ -19,6 +19,7 @@
rustup toolchain install $RUST_TOOLCHAIN && \
rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN} && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target list --installed && \
rustup show
.envdiffbeforeafterboth--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
-RUST_TOOLCHAIN=nightly-2023-05-22
+RUST_TOOLCHAIN=nightly-2024-02-21
POLKADOT_LAUNCH_BRANCH=unique-network
RELAY_CHAIN_TYPE=westend
CHAINQL=v0.4.1
@@ -26,8 +26,4 @@
WESTMINT_BUILD_BRANCH=parachains-v9430
OPAL_MAINNET_BRANCH=release-v10010063
OPAL_REPLICA_FROM=wss://ws-opal.unique.network:443
-
-UNIQUEEAST_MAINNET_BRANCH=release-v1.0.0
-SAPPHIRE_MAINNET_BRANCH=release-v10010063
-SAPPHIRE_REPLICA_FROM=wss://ws-sapphire.unique.network:443
.github/workflows/collator-selection.ymldiffbeforeafterboth--- a/.github/workflows/collator-selection.yml
+++ b/.github/workflows/collator-selection.yml
@@ -42,7 +42,6 @@
matrix: |
network {opal}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
network {quartz}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
- network {sapphire}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
collator-selection:
.github/workflows/forkless-update-data.ymldiffbeforeafterboth1# Forkless update with data replication2# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586869792/Forkless+update+with+data34# Triger: only call from main workflow(re-usable workflows)5on:6 workflow_call:789# A workflow run is made up of one or more jobs that can run sequentially or in parallel10jobs:1112 prepare-execution-matrix:1314 name: execution matrix1516 runs-on: self-hosted-ci17 outputs:18 matrix: ${{ steps.create_matrix.outputs.matrix }}1920 steps:2122 - name: Clean Workspace23 uses: AutoModality/action-clean@v1.1.02425 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it26 - uses: actions/checkout@v3.1.027 with:28 ref: ${{ github.head_ref }} #Checking out head commit2930 - name: Read .env file31 uses: xom9ikk/dotenv@v23233 - name: Create Execution matrix34 uses: CertainLach/create-matrix-action@v435 id: create_matrix36 with:37 matrix: |38 network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}, wasm_name {opal}, fork_source {${{ env.OPAL_REPLICA_FROM }}}39 network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}, wasm_name {quartz}, fork_source {${{ env.SAPPHIRE_REPLICA_FROM }}}40 network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}, wasm_name {quartz}, fork_source {${{ env.QUARTZ_REPLICA_FROM }}}41 network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}, wasm_name {unique}, fork_source {${{ env.UNIQUE_REPLICA_FROM }}}4243 forkless-data:4445 needs: prepare-execution-matrix46 # The type of runner that the job will run on47 runs-on: [self-hosted-ci,large]4849 timeout-minutes: 13805051 name: ${{ matrix.network }}-data5253 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.5455 strategy:56 matrix:57 include: ${{fromJson(needs.prepare-execution-matrix.outputs.matrix)}}5859 steps:6061 - name: Clean Workspace62 uses: AutoModality/action-clean@v1.1.06364 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it65 - uses: actions/checkout@v3.1.066 with:67 ref: ${{ github.head_ref }} #Checking out head commit6869 # Prepare SHA 70 - name: Prepare SHA71 uses: ./.github/actions/prepare7273 - name: Read .env file74 uses: xom9ikk/dotenv@v27576 - name: Log in to Docker Hub77 uses: docker/login-action@v2.1.078 with:79 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}80 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}8182 - name: Generate ENV related extend Dockerfile file for POLKADOT83 uses: cuchi/jinja2-action@v1.2.084 with:85 template: .docker/Dockerfile-polkadot.j286 output_file: .docker/Dockerfile-polkadot.${{ matrix.relay_branch }}.yml87 variables: |88 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}89 POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}90 91 - name: Prepare polkadot92 uses: ./.github/actions/buildContainer93 id: polkadot94 with:95 container: uniquenetwork/builder-polkadot96 tag: ${{ matrix.relay_branch }}97 context: .docker98 dockerfile: Dockerfile-polkadot.${{ matrix.relay_branch }}.yml99 dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}100 dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}101102 - name: Prepare latest103 uses: ./.github/actions/buildContainer104 id: latest105 with:106 container: uniquenetwork/ci-data-${{ matrix.network }}107 tag: ${{ env.REF_SLUG }}-${{ env.BUILD_SHA }}108 context: .109 dockerfile: .docker/Dockerfile-unique110 args: |111 --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }}112 --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}113 dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}114 dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}115116 - name: Extract wasms117 uses: ./.github/actions/extractDocker118 id: wasms119 with:120 image: ${{ steps.latest.outputs.name }}121 directory: /wasm122123 - uses: actions/setup-node@v3.5.1124 with:125 node-version: 20126127 - name: Install baedeker128 uses: UniqueNetwork/baedeker-action/setup@built129130 - name: Setup library131 run: mkdir -p .baedeker/vendor/ && git clone https://github.com/UniqueNetwork/baedeker-library .baedeker/vendor/baedeker-library132133 - name: Start network134 uses: UniqueNetwork/baedeker-action@built135 id: bdk136 with:137 jpath: |138 .baedeker/vendor139 tla-str: |140 relay_spec=${{ env.RELAY_CHAIN_TYPE }}-local141 forked_spec=${{ matrix.network }}142 fork_source=${{ matrix.fork_source }}143 inputs: |144 .baedeker/forkless-data.jsonnet145 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/polkadot':{dockerImage:'${{ steps.polkadot.outputs.name }}'}})146 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}})147148 - name: "Reconcile: runtime is upgraded"149 working-directory: js-packages/tests150 run: |151 yarn152 ../scripts/wait_for_first_block.sh153 echo "Executing upgrade"154 yarn node --no-warnings=ExperimentalWarning --loader ts-node/esm util/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.wasm_name }}-runtime/${{ matrix.wasm_name }}_runtime.compact.compressed.wasm155 env:156 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}157158 - name: Run Parallel tests after forkless upgrade159 working-directory: js-packages/tests160 run: |161 yarn 162 yarn add mochawesome163 ../scripts/wait_for_first_block.sh164 echo "Ready to start tests"165 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}166 env:167 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}168169 - name: Run Sequential tests after forkless upgrade170 if: success() || failure()171 working-directory: js-packages/tests172 run: |173 yarn174 yarn add mochawesome175 NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}176 env:177 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}178179 - name: Remove builder cache180 if: always() # run this step always181 run: |182 docker system prune -f.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -36,7 +36,6 @@
with:
matrix: |
network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}, wasm_name {opal}
- network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}, wasm_name {quartz}
network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}, wasm_name {quartz}
network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}, wasm_name {unique}
.github/workflows/governance.ymldiffbeforeafterboth--- a/.github/workflows/governance.yml
+++ b/.github/workflows/governance.yml
@@ -34,7 +34,6 @@
network {unique}, wasm_name {unique}
network {quartz}, wasm_name {quartz}
network {opal}, wasm_name {opal}
- network {sapphire}, wasm_name {quartz}
dev_build_int_tests:
needs: prepare-execution-marix
.github/workflows/node-only-update.ymldiffbeforeafterboth--- a/.github/workflows/node-only-update.yml
+++ b/.github/workflows/node-only-update.yml
@@ -38,7 +38,6 @@
with:
matrix: |
network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}
- network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}
network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}
network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}
.github/workflows/polkadot-types.ymldiffbeforeafterboth--- a/.github/workflows/polkadot-types.yml
+++ b/.github/workflows/polkadot-types.yml
@@ -29,8 +29,6 @@
strategy:
matrix:
include:
- - network: "sapphire"
- usage: ""
- network: "opal"
usage: ""
- network: "quartz"
.github/workflows/try-runtime.ymldiffbeforeafterboth--- a/.github/workflows/try-runtime.yml
+++ b/.github/workflows/try-runtime.yml
@@ -34,7 +34,6 @@
with:
matrix: |
network {opal}, wasm_name {opal}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}
- network {sapphire}, wasm_name {quartz}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}
network {quartz}, wasm_name {quartz}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}
network {unique}, wasm_name {unique}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}
.github/workflows/yarn-dev.ymldiffbeforeafterboth--- a/.github/workflows/yarn-dev.yml
+++ b/.github/workflows/yarn-dev.yml
@@ -24,7 +24,6 @@
matrix:
include:
- network: "opal"
- - network: "sapphire"
- network: "quartz"
- network: "unique"
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -52,17 +52,17 @@
2. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.
-3. Install toolchain nightly-2023-05-22 and make it default:
+3. Install toolchain nightly-2024-02-21 and make it default:
```bash
-rustup toolchain install nightly-2023-05-22
-rustup default nightly-2023-05-22
+rustup toolchain install nightly-2024-02-21
+rustup default nightly-2024-02-21
```
4. Add wasm target for nightly toolchain:
```bash
-rustup target add wasm32-unknown-unknown --toolchain nightly-2023-05-22
+rustup target add wasm32-unknown-unknown --toolchain nightly-2024-02-21
```
5. Build:
js-packages/scripts/generate_types/wait_for_first_block.shdiffbeforeafterboth--- a/js-packages/scripts/generate_types/wait_for_first_block.sh
+++ b/js-packages/scripts/generate_types/wait_for_first_block.sh
@@ -6,38 +6,42 @@
last_block_id=0
block_id=0
+counter=0
function get_block {
- block_id_hex=$(do_rpc chain_getHeader | jq -r .result.number)
- block_id=$((block_id_hex))
- echo Id = $block_id
+ block_id_hex=$(do_rpc chain_getHeader | jq -r .result.number)
+ block_id=$((block_id_hex))
+ echo Id = $block_id
}
function had_new_block {
- last_block_id=$block_id
- get_block
- if (( last_block_id != 0 && block_id > last_block_id )); then
- return 0
- fi
- return 1
+ last_block_id=$block_id
+ get_block
+ if (( last_block_id != 0 && block_id > last_block_id )); then
+ return 0
+ fi
+ return 1
}
function reset_check {
- last_block_id=0
- block_id=0
+ last_block_id=0
+ block_id=0
+ counter=0
}
-while ! had_new_block; do
- echo "Waiting for next block..."
- sleep 12
+while [ ! had_new_block ] && [ $counter -lt 100 ]; do
+ echo "Waiting for next block..."
+ counter=$((counter+1))
+ sleep 12
done
+
reset_check
echo "Chain is running, but lets wait for another block after a minute, to avoid startup flakiness."
sleep 60
while ! had_new_block; do
- echo "Waiting for another block..."
- sleep 12
+ echo "Waiting for another block..."
+ sleep 12
done
echo "Chain is running!"
runtime/common/tests/xcm.rsdiffbeforeafterboth--- a/runtime/common/tests/xcm.rs
+++ b/runtime/common/tests/xcm.rs
@@ -22,7 +22,12 @@
};
use super::{last_events, new_test_ext, AccountId};
-use crate::{PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin};
+use crate::{
+ runtime_common::config::xcm::XcmExecutorConfig, PolkadotXcm, Runtime, RuntimeCall,
+ RuntimeEvent, RuntimeOrigin,
+};
+
+type XcmExecutor = staging_xcm_executor::XcmExecutor<XcmExecutorConfig<Runtime>>;
const ALICE: AccountId = AccountId::new([0u8; 32]);
const BOB: AccountId = AccountId::new([1u8; 32]);
@@ -32,35 +37,37 @@
#[test]
pub fn xcm_transact_is_forbidden() {
new_test_ext(vec![(ALICE, INITIAL_BALANCE)]).execute_with(|| {
- PolkadotXcm::execute(
- RuntimeOrigin::signed(ALICE),
- Box::new(VersionedXcm::from(Xcm(vec![Transact {
- origin_kind: OriginKind::Native,
- require_weight_at_most: Weight::from_parts(1000, 1000),
- call: RuntimeCall::Balances(
- pallet_balances::Call::<Runtime>::transfer_keep_alive {
- dest: BOB.into(),
- value: INITIAL_BALANCE / 2,
- },
- )
- .encode()
- .into(),
- }]))),
- Weight::from_parts(1001000, 2000),
- )
- .expect(
- "XCM execute must succeed, the error should be in the `PolkadotXcm::Attempted` event",
- );
+ let max_weight = Weight::from_parts(1001000, 2000);
- let xcm_event = &last_events(1)[0];
- match xcm_event {
- RuntimeEvent::PolkadotXcm(pallet_xcm::Event::<Runtime>::Attempted {
- outcome: Outcome::Incomplete(_weight, Error::NoPermission),
- }) => { /* Pass */ }
- _ => panic!(
- "Expected PolkadotXcm.Attempted(Incomplete(_weight, NoPermission)),\
- found: {xcm_event:#?}"
- ),
+ let origin: Location = AccountId32 {
+ network: None,
+ id: *ALICE.as_ref(),
}
+ .into();
+ let message = Xcm(vec![Transact {
+ origin_kind: OriginKind::Native,
+ require_weight_at_most: Weight::from_parts(1000, 1000),
+ call: RuntimeCall::Balances(pallet_balances::Call::<Runtime>::transfer_keep_alive {
+ dest: BOB.into(),
+ value: INITIAL_BALANCE / 2,
+ })
+ .encode()
+ .into(),
+ }]);
+ let mut hash = message.using_encoded(sp_io::hashing::blake2_256);
+ let weight_limit = max_weight;
+ let weight_credit = max_weight;
+
+ let error = XcmExecutor::prepare_and_execute(
+ origin,
+ message,
+ &mut hash,
+ weight_limit,
+ weight_credit,
+ )
+ .ensure_complete()
+ .expect_err("XCM Transact shouldn't succeed");
+
+ assert_eq!(error, Error::NoPermission);
});
}