Skip to content
  1. Mar 23, 2023
  2. Mar 22, 2023
  3. Mar 20, 2023
  4. Mar 18, 2023
    • Gavin Wood's avatar
      Deprecate `Currency`; introduce holds and freezing into `fungible` traits (#12951) · 5d81f23f
      Gavin Wood authored
      
      
      * First reworking of fungibles API
      
      * New API and docs
      
      * More fungible::* API improvements
      
      * New ref-counting logic for old API
      
      * Missing files
      
      * Fixes
      
      * Use the new transfer logic
      
      * Use fungibles for the dispatchables
      
      * Use shelve/restore names
      
      * Locking works with total balance.
      
      * repotting and removal
      
      * Separate Holds from Reserves
      
      * Introduce freezes
      
      * Missing files
      
      * Tests for freezing
      
      * Fix hold+freeze combo
      
      * More tests
      
      * Fee-free dispatchable for upgrading accounts
      
      * Benchmarks and a few fixes
      
      * Another test
      
      * Docs and refactor to avoid blanket impls
      
      * Repot
      
      * Fit out ItemOf fully
      
      * Add events to Balanced traits
      
      * Introduced events into Hold traits
      
      * Fix Assets pallet tests
      
      * Assets benchmarks pass
      
      * Missing files and fixes
      
      * Fixes
      
      * Fixes
      
      * Benchmarks fixes
      
      * Fix balance benchmarks
      
      * Formatting
      
      * Expose fungible sub modules
      
      * Move NIS to fungible API
      
      * Fix broken impl and add test
      
      * Fix tests
      
      * API for `transfer_and_hold`
      
      * Use composite APIs
      
      * Formatting
      
      * Upgraded event
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Repot tests and some fixed
      
      * Fix some bits
      
      * Fix dust tests
      
      * Rename `set_balance`
      
      - `Balances::set_balance` becomes `Balances::force_set_balance`
      - `Unbalanced::set_balance` becomes `Unbalances::write_balance`
      
      * becomes
      
      * Move dust handling to fungibles API
      
      * Formatting
      
      * Fixes and more refactoring
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Use reducible_balance for better correctness on fees
      
      * Reducing hold to zero should remove entry.
      
      * Add test
      
      * Docs
      
      * Update frame/support/src/traits/tokens/fungibles/hold.rs
      
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungibles/regular.rs
      
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/hold.rs
      
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/regular.rs
      
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Fix NIS benchmarks
      
      * Doc comment
      
      * Remove post_mutation
      
      * Fix some tests
      
      * Fix some grumbles
      
      * Enumify bool args to fungible(s) functions
      
      * Fix up assets and balances
      
      * Formatting
      
      * Fix contracts
      
      * Fix tests & benchmarks build
      
      * Typify minted boolean arg
      
      * Typify on_hold boolean arg; renames
      
      * Fix numerous tests
      
      * Fix dependency issue
      
      * Privatize dangerous API mutate_account
      
      * Fix contracts (@alext - please check this commit)
      
      * Remove println
      
      * Fix tests for contracts
      
      * Fix broken rename
      
      * Fix broken rename
      
      * Fix broken rename
      
      * Docs
      
      * Update frame/support/src/traits/tokens/fungible/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * remove from_ref_time
      
      * Update frame/executive/src/lib.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/executive/src/lib.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Reenable test
      
      * Update frame/support/src/traits/tokens/fungibles/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/currency.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/lottery/src/tests.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/mod.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/regular.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungibles/freeze.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible/regular.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungibles/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungibles/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungibles/hold.rs
      
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      
      * Rename UnwantedRemoval to UnwantedAccountRemoval
      
      * Docs
      
      * Formatting
      
      * Update frame/balances/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update primitives/runtime/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * handle_raw_dust oes nothing
      
      * Formatting
      
      * Fixes
      
      * Grumble
      
      * Fixes
      
      * Add test
      
      * Add test
      
      * Tests for reducible_balance
      
      * Fixes
      
      * Fix Salary
      
      * Fixes
      
      * Disable broken test
      
      * Disable nicely
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Rename some events
      
      * Fix nomination pools breakage
      
      * Add compatibility stub for transfer tx
      
      * Reinstate a safely compatible version of Balances set_balance
      
      * Fixes
      
      * Grumble
      
      * Update frame/nis/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
      
      * disable flakey tests
      
      * Update frame/balances/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Grumbles
      
      * Grumble
      
      ---------
      
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarAnthony Alaribe <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      5d81f23f
  5. Mar 17, 2023
  6. Mar 15, 2023
  7. Mar 14, 2023
    • Bastian Köcher's avatar
      sp-api: Support expanding the macro code (#13573) · 4ef1d0df
      Bastian Köcher authored
      * sp-api: Support expanding the macro code
      
      This pr introduces the `expander` crate to expand the generated source code into a file. This gives
      better error reporting when trying to fix issues in the macro itself as Rustc will point to the line
      in this file. The feature can be enabled by setting `SP_API_EXPAND=1` at compile time.
      
      Besides that the generated code is changed to fix warnings in the exanped version.
      
      * Fixes
      4ef1d0df
    • cheme's avatar
      update trie deps (#13601) · ef165cec
      cheme authored
      ef165cec
  8. Mar 11, 2023
    • Gavin Wood's avatar
      Logic for the (Core) Fellowship (#13503) · 4ad1ad2c
      Gavin Wood authored
      
      
      * More drafting
      
      * Paymaster pallet
      
      * Fix build
      
      * More tests
      
      * Rename
      
      * Rename
      
      * Renaming
      
      * Revert old changes
      
      * Multi-phase payouts to avoid bank-runs
      
      * Tests
      
      * Tests
      
      * Allow payment to be targeted elsewhere
      
      * Proper ssync payment failure handling
      
      * Test for repayment
      
      * Docs
      
      * Impl RankedMembers for RankedCollective
      
      * Implement Pay for Pot (i.e. basic account).
      
      * Benchmarks
      
      * Weights
      
      * Introduce Salary benchmark into node
      
      * Fix warning
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_salary
      
      * Update primitives/arithmetic/src/traits.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * Update frame/salary/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * Update lib.rs
      
      * Update frame/salary/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Docs
      
      * Update frame/salary/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/salary/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Fix
      
      * Fixes
      
      * Fixes
      
      * Move some salary traits stuff to a shared location
      
      * Initial draft
      
      * Comment out bits
      
      * Fix
      
      * First couple of tests
      
      * One more test
      
      * Update frame/salary/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/salary/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Mul floor
      
      * Tests
      
      * Mul floor
      
      * Fix warnings
      
      * Fix test
      
      * Tests
      
      * Last tests
      
      * Docs
      
      * Fix warnings
      
      * Benchmarks
      
      * Weights
      
      * Integrate benchmark
      
      * Fixes
      
      * Fix
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_core_fellowship
      
      * Better process flow
      
      * Fix benchmarks & tests
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * docs
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_core_fellowship
      
      * Docs and allow custom evidence size
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_core_fellowship
      
      * Update frame/core-fellowship/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/core-fellowship/src/tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/core-fellowship/src/benchmarking.rs
      
      * Update frame/core-fellowship/src/benchmarking.rs
      
      * Apply suggestions from code review
      
      * Rename
      
      * Update primitives/arithmetic/src/traits.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Reduce magic numbers
      
      * Update frame/core-fellowship/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/core-fellowship/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Benchmark result
      
      * Remove dependency
      
      * set_params should pay
      
      * induct should pay
      
      * Remove some other free calls
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      4ad1ad2c
  9. Mar 09, 2023
  10. Mar 07, 2023
    • Davide Galassi's avatar
      Offences report system rework (#13425) · 9dd10d13
      Davide Galassi authored
      * Experiments with common equivocation trait
      
      * Improved equivocation trait
      
      * Fix grandpa equivocation implementation
      
      * Remove some cruft
      
      * Remove some more cruft
      
      * More generic naming
      
      * Simplification of offences manipilation
      
      * More refactory
      
      * Some prograss with the encapsulation of offence report system
      
      * Finally unit type works as a universal null report system
      
      * Align substrate node code
      
      * Further simplification
      
      * Fix test utils
      
      * Remove not required associated type
      
      * Fix benches
      
      * Rollback to prev field name
      
      * Box big params
      
      * Fix typo
      
      * Remove new tag computation
      
      * Remove default implementations
      
      * Better docs
      
      * Return 'Result' instead of bool
      
      * Change offence report system return types
      
      * Some renaming and documentation
      
      * Improve documentation
      
      * More abstract offence report system
      
      * Rename 'consume_evidence' to 'process_evidence'
      
      * Further docs refinements
      
      * Doc for dummy offence report
      
      * Fix rustdoc
      
      * Fix after master merge
      
      * Apply code review suggestions
      
      * Improve docs
      9dd10d13
    • André Silva's avatar
      consensus: remove caching functionality from block import pipeline (#13551) · 13b0f24a
      André Silva authored
      * consensus: remove caching functionality from block import pipeline
      
      * client: update docs on Verifier::verify
      
      * node: fix block production benchmark
      13b0f24a
    • André Silva's avatar
      c5b6649e
    • yjh's avatar
      remove serde derive for BlockId (#13457) · 8b94c57e
      yjh authored
      8b94c57e
    • Koute's avatar
      Switch to the `blake2b_simd` crate in `sp-core-hashing` (#13548) · 03158cd4
      Koute authored
      * Switch to the `blake2b_simd` crate in `sp-core-hashing`
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev frame_benchmarking
      
      ---------
      
      Co-authored-by: command-bot <>
      03158cd4
  11. Mar 06, 2023
    • yjh's avatar
      chore: reduce copy times for bytes in core-hashing (#13519) · 9b996439
      yjh authored
      * chore: reduce copy bytes for core-hashing
      
      * improve by suggestions and remove unused `xx_into`
      
      * chore: replace sha2 crate by `sp_core::hashing` for pallet-alliance
      
      * fix features
      
      * use sp-core-hashing directly
      
      * add to dev-dep
      9b996439
  12. Mar 03, 2023
  13. Mar 02, 2023
  14. Mar 01, 2023
  15. Feb 28, 2023
  16. Feb 27, 2023
    • Davide Galassi's avatar
      Move grandpa crates to consensus folder (#13458) · 40c36c0c
      Davide Galassi authored
      * Move grandpa under consensus dir
      * Rename grandpa folder
      * Finish grandpa renaming
      * Minor tweaks
      * Cargo fmt
      * Adjust path to chain spec
      40c36c0c
    • Koute's avatar
      Further storage iterator refactoring (#13445) · 91c595bc
      Koute authored
      * Remove `Backend::apply_to_key_values_while`
      
      * Add `IterArgs::start_at_exclusive`
      
      * Use `start_at_exclusive` in functions which used `Backend::apply_to_key_values_while`
      
      * Remove `Backend::apply_to_keys_while`
      
      * Remove `for_keys_with_prefix`, `for_key_values_with_prefix` and `for_child_keys_with_prefix`
      
      * Remove unnecessary `to_vec` calls
      
      * Fix unused method warning in no_std
      
      * Remove unnecessary import
      
      * Also check proof sizes in the test
      
      * Iterate over both keys and values in `prove_range_read_with_size` and add a test
      91c595bc
  17. Feb 24, 2023
    • Bastian Köcher's avatar
      wasm-executor: Support growing the memory (#12520) · 941288c6
      Bastian Köcher authored
      
      
      * As always, start with something :P
      
      * Add support for max_heap_pages
      
      * Add support for wasmtime
      
      * Make it compile
      
      * Fix compilation
      
      * Copy wrongly merged code
      
      * Fix compilation
      
      * Some fixes
      
      * Fix
      
      * Get stuff working
      
      * More work
      
      * More fixes
      
      * ...
      
      * More
      
      * FIXEs
      
      * Switch wasmi to use `RuntimeBlob` like wasmtime
      
      * Removed unused stuff
      
      * Cleanup
      
      * More cleanups
      
      * Introduce `CallContext`
      
      * Fixes
      
      * More fixes
      
      * Add builder for creating the `WasmExecutor`
      
      * Adds some docs
      
      * FMT
      
      * First round of feedback.
      
      * Review feedback round 2
      
      * More fixes
      
      * Fix try-runtime
      
      * Update client/executor/wasmtime/src/instance_wrapper.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/executor/common/src/wasm_runtime.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/executor/common/src/runtime_blob/runtime_blob.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/executor/common/src/wasm_runtime.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/allocator/src/freeing_bump.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/allocator/src/freeing_bump.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Feedback round 3
      
      * FMT
      
      * Review comments
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      941288c6
  18. Feb 23, 2023
    • Gonçalo Pestana's avatar
    • Gonçalo Pestana's avatar
      Abstracts elections-phragmen pallet to use NposSolver (#12588) · b793666c
      Gonçalo Pestana authored
      
      
      * Abstracts elections-phragmen pallet to use NposSolver
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * changes the name of the pallet; adds changelog
      
      * update changelog
      
      * Adds weight testing
      
      * Adds log macro_rules
      
      * renames elections-phragment dir to elections
      
      * weights rename
      
      * fixes typo in cargo toml
      
      * pre/post solve weight scafolding
      
      * refactor do_post_election
      
      * refactors into pre and post election solve for independent benchmarking
      
      * deconstructs PreElectionResults struct
      
      * updates benchmarking pre and post election solve; mock weights
      
      * Update frame/elections/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/elections/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * addresses PR comments
      
      * adds pre_solve and post_sove weights
      
      * Adds comments on election pallet id param name change
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_elections
      
      * Finishes pre-post solve weights
      
      * Update frame/elections/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/elections/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Addresses PR comments: no panic in on_init path; nits
      
      * Fixes node build
      
      * Implements approval voting to use as a `NposSolver` (#13367)
      
      * Implements the approval voting methods in sp_npos_elections
      
      * fmt
      
      * remove unecessary file
      
      * comment clarification
      
      * re-run weights
      
      * fix typo
      
      * updates MaxVoters in tests for integrity_tests to pass
      
      * Refactors election provider support benchmarks outside its own crate (#13431)
      
      * Refactors election provider support benchmarks outside its own crate
      ---------
      
      Co-authored-by: command-bot <>
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      b793666c
    • Koute's avatar
      Bump `wasmtime` to 6.0.0 (#13429) · 17e055e5
      Koute authored
      * Bump `wasmtime` to 6.0.0
      
      * Disable cranelift egraphs
      17e055e5
  19. Feb 22, 2023
    • Koute's avatar
      Rework storage iterators (#13284) · f8e3bdad
      Koute authored
      * Rework storage iterators
      
      * Make sure storage iteration is also accounted for when benchmarking
      
      * Use `trie-db` from crates.io
      
      * Appease clippy
      
      * Bump `trie-bench` to 0.35.0
      
      * Fix tests' compilation
      
      * Update comment to clarify how `IterArgs::start_at` works
      
      * Add extra tests
      
      * Fix iterators on `Client` so that they behave as before
      
      * Add extra `unwrap`s in tests
      
      * More clippy fixes
      
      * Come on clippy, give me a break already
      
      * Rename `allow_missing` to `stop_on_incomplete_database`
      
      * Add `#[inline]` to `with_recorder_and_cache`
      
      * Use `with_recorder_and_cache` in `with_trie_db`; add doc comment
      
      * Simplify code: use `with_trie_db` in `next_storage_key_from_root`
      
      * Remove `expect`s in the benchmarking CLI
      
      * Add extra doc comments
      
      * Move `RawIter` before `TrieBackendEssence` (no code changes; just cut-paste)
      
      * Remove a TODO in tests
      
      * Update comment for `StorageIterator::was_complete`
      
      * Update `trie-db` to 0.25.1
      f8e3bdad
  20. Feb 21, 2023
  21. Feb 20, 2023
    • Michal Kucharczyk's avatar
      `BlockId` removal: `runtime-api` refactor (#13255) · 7a101541
      Michal Kucharczyk authored
      
      
      * BlockId removal: refactor of runtime API
      
      It changes the arguments of:
      - `ApiExt` methods:  `has_api`, `has_api_with`, `api_version`
      - `CallApiAt` method: `runtime_version_at`
      from: `BlockId<Block>` to: `Block::Hash`
      
      It also changes the first argument of all generated runtime API calls from: `BlockId<Block>` to: `Block::Hash`
      
      This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)
      
      * BlockId removal: refactor of runtime API - tests
      
      - tests adjusted to new runtime API,
      - some tests migrated from block number to block hash
      
      * benchmarking-cli: BlockId(0) migrated to info().genesis_hash
      
      `runtime_api.call()` now requires the block hash instead of BlockId::Number.
      To access the genesis hash widely used in benchmarking engine the Client
      was constrained to satisfy `sp_blockchain::HeaderBackend<Block>` trait
      which provides `info().genesis_hash`.
      
      * trivial: api.call(BlockId) -> api.call(Hash)
      
      - Migrated all `runtime_api.calls` to use Hash
      - Noteworthy (?):
      -- `validate_transaction_blocking` in transaction pool,
      
      * CallApiAtParams::at changed to Block::Hash
      
      * missed doc updated
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * BlockId removal: Benchmark::consumed_weight
      
      Little refactor around `Benchmark::consumed_weight`: `BlockId` removed.
      
      * at_hash renamed
      
      * wrong merge fixed
      
      * beefy worker: merged with master
      
      * beefy: tests: missing block problem fixed
      
      * Apply review suggestion
      
      * fix
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: command-bot <>
      7a101541
  22. Feb 17, 2023
    • Adrian Catangiu's avatar
      BEEFY: implement equivocations detection, reporting and slashing (#13121) · c21f292a
      Adrian Catangiu authored
      
      
      * client/beefy: simplify self_vote logic
      
      * client/beefy: migrate to new state version
      
      * client/beefy: detect equivocated votes
      
      * fix typos
      
      * sp-beefy: add equivocation primitives
      
      * client/beefy: refactor vote processing
      
      * fix version migration for new rounds struct
      
      * client/beefy: track equivocations and create proofs
      
      * client/beefy: adjust tests for new voting logic
      
      * sp-beefy: fix commitment ordering and equality
      
      * client/beefy: simplify handle_vote() a bit
      
      * client/beefy: add simple equivocation test
      
      * client/beefy: submit equivocation proof - WIP
      
      * frame/beefy: add equivocation report runtime api - part 1
      
      * frame/beefy: report equivocation logic - part 2
      
      * frame/beefy: add pluggable Equivocation handler - part 3
      
      * frame/beefy: impl ValidateUnsigned for equivocations reporting
      
      * client/beefy: submit report equivocation unsigned extrinsic
      
      * primitives/beefy: fix tests
      
      * frame/beefy: add default weights
      
      * frame/beefy: fix tests
      
      * client/beefy: fix tests
      
      * frame/beefy-mmr: fix tests
      
      * frame/beefy: cross-check session index with equivocation report
      
      * sp-beefy: make test Keyring useable in pallet
      
      * frame/beefy: add basic equivocation test
      
      * frame/beefy: test verify equivocation results in slashing
      
      * frame/beefy: test report_equivocation_old_set
      
      * frame/beefy: add more equivocation tests
      
      * sp-beefy: fix docs
      
      * beefy: simplify equivocations and fix tests
      
      * client/beefy: address review comments
      
      * frame/beefy: add ValidateUnsigned to test/mock runtime
      
      * client/beefy: fixes after merge master
      
      * fix missed merge damage
      
      * client/beefy: add test for reporting equivocations
      
      Also validated there's no unexpected equivocations reported in the
      other tests.
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * sp-beefy: move test utils to their own file
      
      * client/beefy: add negative test for equivocation reports
      
      * sp-beefy: move back MmrRootProvider - used in polkadot-service
      
      * impl review suggestions
      
      * client/beefy: add equivocation metrics
      
      ---------
      
      Signed-off-by: default avataracatangiu <[email protected]>
      Co-authored-by: parity-processbot <>
      c21f292a