From ff95602a85f2edbfb751cf3c4bc8eb7870e71aa4 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Fri, 31 May 2024 14:45:59 +0000 Subject: [PATCH] Merge pull request #1069 from UniqueNetwork/fix/ci-polkadot-1.9 --- --- 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 --- 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 --- 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 --- 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 --- 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 }} --- 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 --- 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 --- 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 --- 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} --- 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 }} --- 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 }} --- 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 --- 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 --- 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 }} --- 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 }} --- 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 --- 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 --- 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 --- 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: --- a/.github/workflows/forkless-update-data.yml +++ b/.github/workflows/forkless-update-data.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}, fork_source {${{ env.OPAL_REPLICA_FROM }}} - 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 }}} 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 }}} 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 }}} --- 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} --- 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 --- 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} --- 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" --- 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 }}} --- 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" --- a/README.md +++ b/README.md @@ -52,17 +52,17 @@ 2. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall `. -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: --- 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!" --- 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>; 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::::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::::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::::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); }); } -- gitstuff