Skip to content

Commit

Permalink
A0-2671: Add try-state hook to the elections pallet (#1251)
Browse files Browse the repository at this point in the history
# Description

This is the first PR introducing `try-state` hook to our pallets.
Hopefully, more to come.

## Why?

`try-state` is a similar concept to `try-runtime`. Basically, we can put
all (storage) invariant checks into a hook and trigger them from
anywhere we need. By default, they can be called from most of
`try-runtime` commands, like `follow-chain`. More info:
https://forum.polkadot.network/t/testing-complex-frame-pallets-discussion-tools/356#try-runtime-follow-chain-trystate-4

## Local testing

I have broken some of the checks in `ensure_validators_are_ok` function
and then:
```shell
$ cargo build --release --features try-runtime
$ ./scripts/run_nodes.sh -b false
$ ./target/release/aleph-node try-runtime --runtime existing --chain /tmp/chainspec.json follow-chain --uri ws://localhost:9944 --keep-connection
```

**Note**: Cardinal-Cryptography/substrate#39 is
required for this scenario.

## Type of change

- New feature (non-breaking change which adds functionality)
  • Loading branch information
pmikolajczyk41 committed Jun 13, 2023
1 parent 46bd04f commit 932de70
Show file tree
Hide file tree
Showing 2 changed files with 158 additions and 137 deletions.
Loading

0 comments on commit 932de70

Please sign in to comment.