* Support moar validators.
* Update weights script.
* Use correct type for benchmarking accounts
* Use package name instead of manifest path
Co-authored-by: Hernando Castano <hernando@hcastano.com>
* Copy-Pasta Call code from mock Rococo to mock Westend runtime
* Update Westend client to include signing and call related code
* Add missing part of license header
* Move `account_info_storage_key` to `polkadot-core` crate
* Use more accurate weight calculation in declared weight
* Remove session length and validator set size config constants
* Remove config params from mock
* Allow specifying total number of votes-ancestries per justification
* Change limits used during benchmarking
* Regenerate weights
* Use simplified weight annotation
* Remove comment
* Address leftover TODO
* Prevent possible divide by zero errors
* Use correct argument order in weight declaration
* Add benchmarking skeleton
* Allow runtime to indicate concrete header type for benches
* Set up skeleton for benchmark tests
* Play around with mutating bench header
* Create a working test for benchmarking
* Add benches related to enacting authority set changes
* Add bench for checking effect of prec-commits/vote ancestries
* Use new `no_std` test utils in benchmarks
* Support pallet instances in benchmarking
* Use correct benchmarking instance macro
* Add instance to runtime benchmark helper impl
* Start using new justification creation API
* Allow mock header's number to be specified
* Set up benches with correct fork/depth parameters
* Use new pallet name during runtime bench setup
* Use correct `set_id` in tests
* Limit number of forks as workaround to get tests passing
* Use number of authorities which matches number of forks
* Make sure test post-conditions are checked properly
* Only read `CurrentAuthoritySet` from storage once
* Add combined benchmark for `submit_finality_proof`
* Add bench test
* Introduce config bounds related to justification verification
* Use config consts from pallet in benchmarking
* Return data relevant to benchmarks from helper functions
* Annotate `submit_finality_proof` with autogenerated weights
* Return actual weight after call execution
* Ignore Clippy warnings in bench template
* Update benchmark template
* Use `test-utils` to create test headers
* Clarify that helper is only for messages benches
* Add more documentation to benches
* Update TODOs
* Clarify return types in comment
* Fix pallet name post-merge
* Update NOTE to a TODO item
* Indicate that Config params are max values, not actual values
* Change Config validator count type to be `u32`
* Return decoded justification instead of fields
* Add missing trait bounds for tests
* Correctly issue weight refund
Thanks for spotting this Tomek!
* Update comment
* Add note about SESSION_LENGTH
* Fix benchmarking code
* Stop passing raw encoded justifications to pallet API
By having the API accept a struct-ified justification we are able to
better utilize the justifications fields for weight calculations.
* Update relayer code to use decoded justifications
* Add justification to `expect()` statement
* Fix some imports
* Make justification wrapper contain decoded justification
* Rename some fields
* Get rid of warnings
* Appease Clippy
* Only decode justification once at init time
* Remove unnecessary method
* Remove justification wrapper
This became kinda unnecessary since we could implement the FinalityProof
trait on GrandpaJustification directly.
* Allow creation of authority lists with any number of authorities
* Move keyring helpers into their own module
* Add helper for generating list of test accounts
* Fix import names in tests
* Rename Keyring trait to Signer
* Get list of accounts in a more functional way
* Clarify meaning of `test_keyring` return type
* Use concrete test account type instead of generics
* Make sure voter set contains all authorities which signed off on pre-commits
* Rename `pallet-finality-verifier` to `pallet-bridge-grandpa`
* Missed some CamelCase ones
* Update logging target in GRANDPA pallet
* Rename `pallet-bridge-call-dispatch` to `pallet-bridge-dispatch`
* Rename the dispatch pallet folder
* Update logging target in Dispatch pallet
* Missed a couple
* Format the repo
* Stop listing individual pallets in Compose logs
* Use correct pallet name in module doc comments
* Add `pallet-bridge-dispatch` to README project layout
* Sort crate names in TOML files
* Rename `pallet-bridge-grandpa` runtime Call alias
* Add way to create tunable GRANDPA justifications
* Use new function in tests
* Allow multiple authorities on a single fork
* Only store pre-commit targets instead of full ancestry chains
* Rename precommit_header to be more generic
* Push new digest item instead of overriding entire digest
* Ensure that we generate chains with non-zero length
* Extract justification creation parameters into struct
* Appease Clippy
* use runtime:: prefix for message-lane pallet traces
* renamed message-lane (module and primitives) folder into messages
* replace "message lane" with "messages" where appropriate
* Use `sp-application-crypto` when generating test justifications
* Try to justifications tests compiling
* Try using `ed25519_dalek` for justification creation
* Small cleanup
* Correctly generate a Keypair
The public key didn't correspond to what would be derived
with the given private key.
* Remove enum index hack
* Clean up test account helper functions
* Fix tests in `pallet-finality-verifier`
* Get `pallet-substrate-bridge` tests compiling again
* Use the correct keyring in justification tests
* Clean up Keyring related code a bit
* Appease Clippy
* Remove unused import
* Use keyring variants directly
* Remove unecessary From implementation