Fixes https://github.com/paritytech/polkadot-sdk/issues/3144 Builds on top of https://github.com/paritytech/polkadot-sdk/pull/3229 ### Summary Some preparations for Runtime to support elastic scaling, guarded by config node features bit `FeatureIndex::ElasticScalingMVP`. This PR introduces a per-candidate `CoreIndex` but does it in a hacky way to avoid changing `CandidateCommitments`, `CandidateReceipts` primitives and networking protocols. #### Including `CoreIndex` in `BackedCandidate` If the `ElasticScalingMVP` feature bit is enabled then `BackedCandidate::validator_indices` is extended by 8 bits. The value stored in these bits represents the assumed core index for the candidate. It is temporary solution which works by creating a mapping from `BackedCandidate` to `CoreIndex` by assuming the `CoreIndex` can be discovered by checking in which validator group the validator that signed the statement is. TODO: - [x] fix tests - [x] add new tests - [x] Bump runtime API for Kusama, so we have that node features thing! -> https://github.com/polkadot-fellows/runtimes/pull/194 --------- Signed-off-by: Andrei Sandu <andrei-mihail@parity.io> Signed-off-by: alindima <alin@parity.io> Co-authored-by: alindima <alin@parity.io>
Zombienet tests
The content of this directory is meant to be used by Parity's private CI/CD infrastructure with private tools. At the moment those tools are still early stage of development and we don't know if / when they will available for public use.
Contents of this directory
parachains At the moment this directory only have one test related to parachains: /parachains-smoke-test, that check
the parachain registration and the block height.
Resources
Running tests locally
To run any test locally use the native provider (zombienet test -p native ...) you need first build the binaries. They
are:
adder-collator->polkadot/target/testnet/adder-collatormalus->polkadot/target/testnet/maluspolkadot->polkadot/target/testnet/polkadot,polkadot/target/testnet/polkadot-prepare-worker,polkadot/target/testnet/polkadot-execute-workerpolkadot-collator->cumulus/target/release/polkadot-parachainundying-collator->polkadot/target/testnet/undying-collator
To build them use:
adder-collator->cargo build --profile testnet -p test-parachain-adder-collatorundying-collator->cargo build --profile testnet -p test-parachain-undying-collatormalus->cargo build --profile testnet -p polkadot-test-maluspolkadot(in the Polkadot repo) andpolkadot-collator(in Cumulus repo) ->cargo build --profile testnet
One solution is to use the .set_env file (from this directory) and fill the CUSTOM_PATHS before source it to patch
the PATH of your system to find the binaries you just built.
E.g.:
$ cat .set_env
(...)
# by the order of this array
CUSTOM_PATHS=(
"~/polkadot/target/release"
"~/polkadot/target/testnet"
"~/cumulus/target/release"
)
(...)
source .set_env
Then you have your PATH customized and ready to run zombienet. NOTE: You should need to do this ones per
terminal session, since we are patching the PATH and re-exporting. Or you can also source this file in your
.bashrc file to get executed automatically in each new session.
Example:
You can run a test locally by executing:
zombienet test -p native 0001-parachains-pvf.zndsl
Questions / permissions
Ping in element Javier (@javier:matrix.parity.io) to ask questions or grant permission to run the test from your local
setup.