* 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
* 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
Changes (partial https://github.com/paritytech/polkadot-sdk/issues/994):
- Set log to `0.4.20` everywhere
- Lift `log` to the workspace
Starting with a simpler one after seeing
https://github.com/paritytech/polkadot-sdk/pull/2065 from @jsdw.
This sets the `default-features` to `false` in the root and then
overwrites that in each create to its original value. This is necessary
since otherwise the `default` features are additive and its impossible
to disable them in the crate again once they are enabled in the
workspace.
I am using a tool to do this, so its mostly a test to see that it works
as expected.
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
We currently use a bit of a hack in `.cargo/config` to make sure that
clippy isn't too annoying by specifying the list of lints.
There is now a stable way to define lints for a workspace. The only down
side is that every crate seems to have to opt into this so there's a
*few* files modified in this PR.
Dependencies:
- [x] PR that upgrades CI to use rust 1.74 is merged.
---------
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Using taplo, fixes all our broken and inconsistent toml formatting and
adds CI to keep them tidy.
If people want we can customise the format rules as described here
https://taplo.tamasfe.dev/configuration/formatter-options.html
@ggwpez, I suggest zepter is used only for checking features are
propagated, and leave formatting for taplo to avoid duplicate work and
conflicts.
TODO
- [x] Use `exclude = [...]` syntax in taplo file to ignore zombienet
tests instead of deleting the dir
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
The `xcm` crate was renamed to `staging-xcm` to be able to publish it to
crates.io as someone as squatted `xcm`. The problem with this rename is
that the `TypeInfo` includes the crate name which ultimately lands in
the metadata. The metadata is consumed by downstream users like
`polkadot-js` or people building on top of `polkadot-js`. These people
are using the entire `path` to find the type in the type registry. Thus,
their code would break as the type path would now be [`staging_xcm`,
`VersionedXcm`] instead of [`xcm`, `VersionedXcm`]. This pull request
fixes this by renaming the path segment `staging_xcm` to `xcm`.
This requires: https://github.com/paritytech/scale-info/pull/197
---------
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>