difftreelog
Merge remote-tracking branch 'origin/develop' into feature/polkadot-v0.9.12
in: master
14 files changed
.dockerignorediffbeforeafterboth--- a/.dockerignore
+++ b/.dockerignore
@@ -2,5 +2,8 @@
.github/
doc/
target/
+tests/
chain-data*/
smart_contract/
+Dockerfile-parachain
+docker-compose-tests-parachain.yml
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -385,16 +385,16 @@
[[package]]
name = "backtrace"
-version = "0.3.61"
+version = "0.3.62"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01"
+checksum = "091bcdf2da9950f96aa522681ce805e6857f6ca8df73833d35736ab2dc78e152"
dependencies = [
"addr2line",
"cc",
"cfg-if 1.0.0",
"libc",
"miniz_oxide",
- "object",
+ "object 0.27.1",
"rustc-demangle",
]
@@ -3179,9 +3179,9 @@
[[package]]
name = "http-body"
-version = "0.4.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5"
+checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
dependencies = [
"bytes 1.1.0",
"http",
@@ -3217,9 +3217,9 @@
[[package]]
name = "hyper"
-version = "0.14.13"
+version = "0.14.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593"
+checksum = "2b91bb1f221b6ea1f1e4371216b70f40748774c2fb5971b450c07773fb92d26b"
dependencies = [
"bytes 1.1.0",
"futures-channel",
@@ -3724,7 +3724,7 @@
"pallet-offences-benchmarking",
"pallet-proxy",
"pallet-recovery",
- "pallet-scheduler 4.0.0-dev",
+ "pallet-scheduler",
"pallet-session",
"pallet-session-benchmarking",
"pallet-society",
@@ -3832,9 +3832,9 @@
[[package]]
name = "libc"
-version = "0.2.104"
+version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce"
+checksum = "869d572136620d55835903746bcb5cdc54cb2851fd0aeec53220b4bb65ef3013"
[[package]]
name = "libloading"
@@ -5093,12 +5093,12 @@
"pallet-nft-charge-transaction",
"pallet-nft-transaction-payment",
"pallet-randomness-collective-flip",
- "pallet-scheduler 3.0.0",
"pallet-sudo",
"pallet-timestamp",
"pallet-transaction-payment",
"pallet-transaction-payment-rpc-runtime-api",
"pallet-treasury",
+ "pallet-unq-scheduler",
"pallet-vesting",
"pallet-xcm",
"parachain-info",
@@ -5244,6 +5244,15 @@
]
[[package]]
+name = "object"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
name = "once_cell"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6139,25 +6148,6 @@
[[package]]
name = "pallet-scheduler"
-version = "3.0.0"
-dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "log",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
- "substrate-test-utils",
- "up-sponsorship",
-]
-
-[[package]]
-name = "pallet-scheduler"
version = "4.0.0-dev"
source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.12#d76f39995315ec36980908e4b99709bd14927044"
dependencies = [
@@ -6380,6 +6370,25 @@
]
[[package]]
+name = "pallet-unq-scheduler"
+version = "3.0.0"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+ "substrate-test-utils",
+ "up-sponsorship",
+]
+
+[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.12#d76f39995315ec36980908e4b99709bd14927044"
@@ -6795,9 +6804,9 @@
[[package]]
name = "pkg-config"
-version = "0.3.20"
+version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb"
+checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f"
[[package]]
name = "platforms"
@@ -7584,7 +7593,7 @@
"pallet-offences",
"pallet-offences-benchmarking",
"pallet-proxy",
- "pallet-scheduler 4.0.0-dev",
+ "pallet-scheduler",
"pallet-session",
"pallet-session-benchmarking",
"pallet-staking",
@@ -7991,9 +8000,9 @@
[[package]]
name = "ppv-lite86"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741"
+checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"
[[package]]
name = "primitive-types"
@@ -10005,9 +10014,9 @@
[[package]]
name = "signature"
-version = "1.3.1"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335"
+checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788"
[[package]]
name = "simba"
@@ -11954,7 +11963,7 @@
"lazy_static",
"libc",
"log",
- "object",
+ "object 0.26.2",
"paste",
"psm",
"rayon",
@@ -12006,7 +12015,7 @@
"cranelift-wasm",
"gimli",
"more-asserts",
- "object",
+ "object 0.26.2",
"target-lexicon",
"thiserror",
"wasmparser",
@@ -12026,7 +12035,7 @@
"indexmap",
"log",
"more-asserts",
- "object",
+ "object 0.26.2",
"serde",
"target-lexicon",
"thiserror",
@@ -12048,7 +12057,7 @@
"libc",
"log",
"more-asserts",
- "object",
+ "object 0.26.2",
"region",
"serde",
"target-lexicon",
@@ -12171,7 +12180,7 @@
"pallet-offences-benchmarking",
"pallet-proxy",
"pallet-recovery",
- "pallet-scheduler 4.0.0-dev",
+ "pallet-scheduler",
"pallet-session",
"pallet-session-benchmarking",
"pallet-society",
Dockerfile-parachaindiffbeforeafterboth--- a/Dockerfile-parachain
+++ b/Dockerfile-parachain
@@ -1,8 +1,6 @@
-# ===== BUILD ======
-FROM phusion/baseimage:focal-1.0.0 as builder
+# ===== Rust builder =====
+FROM phusion/baseimage:focal-1.0.0 as rust-builder
LABEL maintainer="Unique.Network"
-
-
ARG RUST_TOOLCHAIN=nightly-2021-06-28
#ARG RUST_C=1.55.0-nightly
@@ -24,52 +22,57 @@
#RUN echo $POLKA_VERSION
#RUN echo $NFT_BRANCH
-
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
-ARG PROFILE=release
+RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
RUN apt-get update && \
apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \
apt-get install -y cmake pkg-config libssl-dev git clang
-# Get project and run it
-
-#RUN git clone -b $NFT_BRANCH https://$USER:$PASS@github.com/UniqueNetwork/unique-chain.git /nft_parachain
+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 cargo install cargo-chef
RUN mkdir nft_parachain
WORKDIR /nft_parachain
+
+# ===== Chef =====
+FROM rust-builder as chef
+
COPY . .
+RUN cargo chef prepare --recipe-path recipe.json
+# ===== BUILD ======
+FROM rust-builder as builder
-RUN export CARGO_HOME="/cargo-home" && curl https://sh.rustup.rs -sSf | sh -s -- -y
-RUN export PATH="/cargo-home/bin:$PATH" && \
- export CARGO_HOME="/cargo-home" && \
- cargo fetch
+RUN mkdir nft_parachain
+WORKDIR /nft_parachain
-RUN export PATH="/cargo-home/bin:$PATH" && \
- export CARGO_HOME="/cargo-home" && \
- rustup toolchain uninstall $(rustup toolchain list) && \
- rustup toolchain install $RUST_TOOLCHAIN && \
-# rustup toolchain install $RUST_C && \
- rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN && \
- rustup default $RUST_TOOLCHAIN && \
- rustup target list --installed && \
- rustup show
+COPY --from=chef /nft_parachain/recipe.json recipe.json
+ARG PROFILE=release
+RUN cargo chef cook "--$PROFILE" --recipe-path recipe.json
-RUN export PATH="/cargo-home/bin:$PATH" && \
- export CARGO_HOME="/cargo-home" && \
- cargo build "--$PROFILE"
+COPY . .
+RUN cargo build "--$PROFILE"
# && \
# cargo test
+# ===== BUILD POLKADOT =====
+FROM rust-builder as builder-polkadot
+RUN mkdir nft_parachain
+WORKDIR /nft_parachain
RUN git clone -b $POLKA_VERSION --depth 1 https://github.com/paritytech/polkadot.git && \
cd polkadot && \
git tag -n && \
- export PATH="/cargo-home/bin:$PATH" && \
- export CARGO_HOME="/cargo-home" && \
cargo build --release
# ===== RUN ======
@@ -77,32 +80,28 @@
FROM phusion/baseimage:focal-1.0.0
ARG PROFILE=release
-
-COPY --from=builder /nft_parachain/target/$PROFILE/nft /nft_private/target/$PROFILE/
-COPY --from=builder /nft_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/
-RUN apt-get update && \
- apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" && \
- apt-get install -y cmake pkg-config libssl-dev git clang
-
-RUN git clone https://github.com/paritytech/polkadot-launch.git
-
RUN apt-get -y update && \
apt-get -y upgrade && \
- apt-get -y install curl && \
+ 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 v15.5.0 && \
nvm use v15.5.0
-# npm install --save @polkadot/api && \
-# npm install --save-dev mochawesome
+RUN git clone https://github.com/paritytech/polkadot-launch.git
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ cd /polkadot-launch && \
+ npm install --global yarn && \
+ yarn
+
+COPY --from=builder /nft_parachain/target/$PROFILE/nft /nft_private/target/$PROFILE/
+COPY --from=builder-polkadot /nft_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/
CMD export NVM_DIR="$HOME/.nvm" && \
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
cd /polkadot-launch && \
- npm install --global yarn && \
- yarn install && \
- yarn build && \
yarn start launch-config.json
Dockerfile-testsdiffbeforeafterboth--- a/Dockerfile-tests
+++ /dev/null
@@ -1,35 +0,0 @@
-# ===== Integration Tests ======
-
-
-FROM ubuntu:20.04
-LABEL maintainer="UniqueNetwork.io"
-
-RUN apt -y update; apt -y upgrade; apt -y install curl
-
-
-RUN mkdir nft_parachain
-WORKDIR /nft_parachain
-
-COPY . .
-
-RUN apt-get -y update && \
- apt-get -y upgrade && \
- apt-get -y install curl && \
- 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 v15.5.0 && \
- nvm use v15.5.0 && \
- npm install --save @polkadot/api && \
- npm install --save-dev mochawesome
-
-CMD sleep 60
-
-CMD export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- cd tests && \
- npm install --global yarn && \
- yarn add mochawesome && \
- yarn install && \
- sleep 120 && \
- NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -302,8 +302,6 @@
```
// use pallet_contracts::weights::WeightInfo;
...
-// use pallet_contracts::chain_extension::UncheckedFrom;
-...
// pub use pallet_timestamp::Call as TimestampCall;
...
// mod chain_extension;
docker-compose-tests-parachain.ymldiffbeforeafterboth--- a/docker-compose-tests-parachain.yml
+++ b/docker-compose-tests-parachain.yml
@@ -31,11 +31,14 @@
container_name: integration_tests
image: integration_tests
build:
- context: ./
+ context: tests/
dockerfile: Dockerfile-tests
+ environment:
+ RPC_URL: http://blockchain_nodes:9934/
volumes:
- - ./tests/src/config_docker.ts:/nft_parachain/tests/src/config.ts
- - /home/ubuntu/mochawesome-report:/nft_parachain/tests/mochawesome-report
+ - ./tests/src/config_docker.ts:/nft_parachain/src/config.ts
+ - /home/ubuntu/mochawesome-report:/nft_parachain/mochawesome-report
+ - ./runtime_types.json:/runtime_types.json
# command: bash -c 'while true; do sleep 20; df -h; done'
networks:
- node_test_network
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "pallet-scheduler"
+name = "pallet-unq-scheduler"
version = "3.0.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
runtime/Cargo.tomldiffbeforeafterboth--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -69,7 +69,7 @@
'serde',
'pallet-inflation/std',
'pallet-nft/std',
- 'pallet-scheduler/std',
+ 'pallet-unq-scheduler/std',
'pallet-nft-charge-transaction/std',
'pallet-nft-transaction-payment/std',
'nft-data-structs/std',
@@ -360,7 +360,7 @@
pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' }
pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' }
nft-data-structs = { path = '../primitives/nft', default-features = false, version = '0.9.0' }
-pallet-scheduler = { path = '../pallets/scheduler', default-features = false, version = '3.0.0' }
+pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false, version = '3.0.0' }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
pallet-nft-transaction-payment = { path = '../pallets/nft-transaction-payment', default-features = false, version = '3.0.0' }
pallet-nft-charge-transaction = { path = '../pallets/nft-charge-transaction', default-features = false, version = '3.0.0' }
runtime/src/lib.rsdiffbeforeafterboth--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -764,7 +764,7 @@
//pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,
);
-impl pallet_scheduler::Config for Runtime {
+impl pallet_unq_scheduler::Config for Runtime {
type Event = Event;
type Origin = Origin;
type PalletsOrigin = OriginCaller;
@@ -837,7 +837,7 @@
// Unique Pallets
Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,
Nft: pallet_nft::{Pallet, Call, Config<T>, Storage, Event<T>} = 61,
- Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event<T>} = 62,
+ Scheduler: pallet_unq_scheduler::{Pallet, Call, Storage, Event<T>} = 62,
NftPayment: pallet_nft_transaction_payment::{Pallet, Call, Storage} = 63,
Charging: pallet_nft_charge_transaction::{Pallet, Call, Storage } = 64,
// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,
tests/.dockerignorediffbeforeafterboth--- /dev/null
+++ b/tests/.dockerignore
@@ -0,0 +1,2 @@
+node_modules/
+Dockerfile-tests
tests/Dockerfile-testsdiffbeforeafterboth--- /dev/null
+++ b/tests/Dockerfile-tests
@@ -0,0 +1,38 @@
+# ===== Integration Tests ======
+
+
+FROM ubuntu:20.04
+LABEL maintainer="UniqueNetwork.io"
+
+RUN apt -y update; apt -y upgrade; apt -y install curl
+
+
+RUN mkdir nft_parachain
+WORKDIR /nft_parachain
+
+RUN apt-get -y update && \
+ apt-get -y upgrade && \
+ apt-get -y install curl jq && \
+ 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 v15.5.0 && \
+ nvm alias default v15.5.0 && \
+ nvm use default
+
+ENV YARN_CACHE_FOLDER ~/.yarn
+
+COPY package.json yarn.lock ./
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ npm install --global yarn && \
+ yarn add mochawesome && \
+ yarn --pure-lockfile
+
+COPY . .
+
+CMD export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ ./scripts/wait_for_first_block.sh && \
+ NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}
tests/package-lock.jsondiffbeforeafterbothno changes
tests/scripts/wait_for_first_block.shdiffbeforeafterboth--- /dev/null
+++ b/tests/scripts/wait_for_first_block.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+function do_rpc {
+ curl -s --header "Content-Type: application/json" -XPOST --data "{\"id\":1,\"jsonrpc\":\"2.0\",\"method\":\"$1\",\"params\":[$2]}" $RPC_URL
+}
+
+function is_started {
+ block_hash_rpc=$(do_rpc chain_getFinalizedHead)
+ echo Rpc response = $block_hash_rpc
+ block_hash=$(echo $block_hash_rpc | jq -r .result)
+ echo Head = $block_hash
+ block_id_hex=$(do_rpc chain_getHeader "\"$block_hash\"" | jq -r .result.number)
+ block_id=$((${block_id_hex}))
+ echo Id = $block_id
+ if (( $block_id > 1 )); then
+ return 0
+ fi
+ return 1
+}
+
+while ! is_started; do
+ echo "Waiting for first block..."
+ sleep 12
+done
+echo "Chain is running!"
tests/src/config_docker.tsdiffbeforeafterboth--- a/tests/src/config_docker.ts
+++ b/tests/src/config_docker.ts
@@ -6,8 +6,8 @@
import process from 'process';
const config = {
- substrateUrl: process.env.substrateUrl || 'ws://172.17.0.1:9944',
- frontierUrl: process.env.frontierUrl || 'http://172.17.0.1:9933',
+ substrateUrl: process.env.substrateUrl || 'ws://blockchain_nodes:9944',
+ frontierUrl: process.env.frontierUrl || 'http://blockchain_nodes:9933',
};
export default config;