Skip to content
  1. Oct 24, 2023
    • Kian Paimani's avatar
      Ensure correct variant count in `Runtime[Hold/Freeze]Reason` (#1900) · 35eb133b
      Kian Paimani authored
      
      
      closes https://github.com/paritytech/polkadot-sdk/issues/1882
      
      ## Breaking Changes
      
      This PR introduces a new item to `pallet_balances::Config`:
      
      ```diff
      trait Config {
      ++    type RuntimeFreezeReasons;
      }
      ```
      
      This value is only used to check it against `type MaxFreeze`. A similar
      check has been added for `MaxHolds` against `RuntimeHoldReasons`, which
      is already given to `pallet_balances`.
      
      In all contexts, you should pass the real `RuntimeFreezeReasons`
      generated by `construct_runtime` to `type RuntimeFreezeReasons`. Passing
      `()` would also work, but it would imply that the runtime uses no
      freezes at all.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      35eb133b
  2. Oct 13, 2023
  3. Aug 23, 2023
    • juangirini's avatar
      Restructure `frame_support` macro related exports (#14745) · 878c562c
      juangirini authored
      
      
      * make reexports private
      
      * make reexports private 2
      
      * make reexports private for runtime-benchmarking
      
      * make reexports private for try-runtime
      
      * fix for try-runtime
      
      * make reexports private for tests
      
      * fmt
      
      * make reexports private for tests
      
      * make reexports private for experimental
      
      * fix beefy
      
      * fix ui test
      
      * fix ui test
      
      * fix benches
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * fix contracts use
      
      * wip
      
      * wip
      
      * do not reexport sp_api::metadata_ir
      
      * fix CI checks
      
      * fix support tests
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/support/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * import codec directly
      
      * fmt
      
      * fix node-cli tests
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      878c562c
  4. Aug 10, 2023
    • Gonçalo Pestana's avatar
      [NPoS] Implements dynamic number of nominators (#12970) · 93754780
      Gonçalo Pestana authored
      
      
      * Implements dynamic nominations per nominator
      
      * Adds SnapshotBounds and ElectionSizeTracker
      
      * Changes the ElectionDataProvider interface to receive ElectionBounds as input
      
      * Implements get_npos_voters with ElectionBounds
      
      * Implements get_npos_targets with ElectionBounds
      
      * Adds comments
      
      * tests
      
      * Truncates nomninations that exceed nominations quota; Old tests passing
      
      * Uses DataProviderBounds and ElectionBounds (to continue)
      
      * Finishes conversions - tests passing
      
      * Refactor staking in babe mocks
      
      * Replaces MaxElectableTargets and MaxElectingVoters with ElectionBounds; Adds more tests
      
      * Fixes nits; node compiling
      
      * bechmarks
      
      * removes nomination_quota extrinsic to request the nomination quota
      
      * Lazy quota check, ie. at nominate time only
      
      * remove non-working test (for now)
      
      * tests lazy nominations quota when quota is lower than current number of nominated targets
      
      * Adds runtime API and custom RPC call for clients to query the nominations quota for a given balance
      
      * removes old rpc
      
      * Cosmetic touches
      
      * All mocks working
      
      * Fixes benchmarking mocks
      
      * nits
      
      * more tests
      
      * renames trait methods
      
      * nit
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Fix V2 PoV benchmarking (#13485)
      
      * Bump default 'additional_trie_layers' to two
      
      The default here only works for extremely small runtimes, which have
      no more than 16 storage prefices. This is changed to a "sane" default
      of 2, which is save for runtimes with up to 4096 storage prefices (eg StorageValue).
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update tests and test weights
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix PoV weights
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_message_queue
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_glutton
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_glutton
      
      * Fix sanity check
      
      >0 would also do as a check, but let's try this.
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      
      * Move BEEFY code to consensus (#13484)
      
      * Move beefy primitives to consensus dir
      * Move beefy gadget to client consensus folder
      * Rename beefy crates
      
      * chore: move genesis block builder to chain-spec crate. (#13427)
      
      * chore: move genesis block builder to block builder crate.
      
      * add missing file
      
      * chore: move genesis block builder to sc-chain-spec
      
      * Update client/chain-spec/src/genesis.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update test-utils/runtime/src/genesismap.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update test-utils/runtime/client/src/lib.rs
      
      * fix warnings
      
      * fix warnings
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Speed up storage iteration from within the runtime (#13479)
      
      * Speed up storage iteration from within the runtime
      
      * Move the cached iterator into an `Option`
      
      * Use `RefCell` in no_std
      
      * Simplify the code slightly
      
      * Use `Option::replace`
      
      * Update doc comment for `next_storage_key_slow`
      
      * Make unbounded channels size warning exact (part 1) (#13490)
      
      * Replace `futures-channel` with `async-channel` in `out_events`
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Also print the backtrace of `send()` call
      
      * Switch from `backtrace` crate to `std::backtrace`
      
      * Remove outdated `backtrace` dependency
      
      * Remove `backtrace` from `Cargo.lock`
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Removal of Prometheus alerting rules deployment in cloud-infra (#13499)
      
      * sp-consensus: remove unused error variants (#13495)
      
      * Expose `ChargedAmount` (#13488)
      
      * Expose `ChargedAmount`
      
      * Fix imports
      
      * sc-consensus-beefy: fix metrics: use correct names (#13494)
      
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * clippy fix
      
      * removes NominationsQuotaExceeded event
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      
      * adds back the npos_max_iter
      
      * remove duplicate imports added after merge
      
      * fmt
      
      * Adds comment in public struct; Refactors CountBound and SizeCount to struct
      
      * addresses various pr comments
      
      * PR comment reviews
      
      * Fixes on-chain election bounds and related code
      
      * EPM checks the size of the voter list returned by the data provider
      
      * cosmetic changes
      
      * updates e2e tests mock
      
      * Adds more tests for size tracker and refactors code
      
      * Adds back only_iterates_max_2_times_max_allowed_len test
      
      * Refactor
      
      * removes unecessary dependency
      
      * empty commit -- restart all stuck CI jobs
      
      * restarts ci jobs
      
      * Renames ElectionBounds -> Bounds in benchmarking mocks et al
      
      * updates mocks
      
      * Update frame/election-provider-support/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/pallet/impls.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/election-provider-support/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/staking/src/tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * more checks in api_nominations_quota in tests
      
      * Improves docs
      
      * fixes e2e tests
      
      * Uses size_hint rather than mem::size_of in size tracker; Refactor size tracker to own module
      
      * nits from reviews
      
      * Refactors bounds to own module; improves docs
      
      * More tests and docs
      
      * fixes docs
      
      * Fixes benchmarks
      
      * Fixes rust docs
      
      * fixes bags-list remote-ext-tests
      
      * Simplify bound checks in create_snapshot_external
      
      * Adds target size check in get_npos_targets
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * restart ci
      
      * rust doc fixes and cosmetic nits
      
      * rollback upgrade on parity-scale-codec version (unecessary)
      
      * reset cargo lock, no need to update it
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Signed-off-by: default avataracatangiu <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avataryjh <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      Co-authored-by: default avatarAnthony Lazam <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarPiotr Mikołajczyk <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarRoss Bulat <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      93754780
  5. Aug 02, 2023
    • drskalman's avatar
      Support for multiple signature scheme for BEEFY primitves (#14373) · 3fef703e
      drskalman authored
      
      
      * Merged BEEFY primitives with generic signature and keyset commitment support from old pull to current code
      
      * - Add bls-experimental feature to application-crypto and beefy primitives
      - Fix remaining crypto -> ecdsa_crypto
      - code build but not tests
      
      * Make beefy primitive tests compile
      
      * move bls related beefy primitives code and test behind bls-experimental flag
      
      * Make BEEFY clients complies with BEEFY API depending on AuthorityId
      
      * - Rename `BeefyAuthoritySet.root` → `BeefyAuthoritySet.keyset_commitment`.
      - Remove apk proof keyset_commitment from `BeefyAuthoritySet`.
      - Fix failing signed commitment and signature to witness test.
      - Make client compatible with BeefyAPI generic on AuthorityId.
      - `crypto` → `ecdsa_crypto` in BEEFY client and frame.
      
      * Commit Cargo lock remove ark-serialize from BEEFY primitives
      
      * Use Codec instead of Encode + Decode in primitives/consensus/beefy/src/lib.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * - Make `BeefyApi` generic over Signature type.
      - Make new `BeeyApi` functinos also generic over AuthorityId and Signature
      
      * Unmake BeefyAPI generic over Signature. Recover Signature type from AuthId.
      
      * - dont use hex or hex-literal use array-bytes instead in beefy primitives and bls crypto.
      - CamelCase ECDSA and BLS everywhere.
      
      * Move the definition of BEEFY key type from `primitives/beefy` to `crypto.rs` according to new convention.
      
      * - Add bls377_generate_new to `sp-io` and `application_crypto::bls`.
      - Add `bls-experimental` to `sp-io`
      
      Does not compile because PassByCodec can not derive PassBy using customly implemented PassByIner.
      
      * Implement PassBy for `bls::Public` manually
      
      * fix Beefy `KEY_TYPE` in `frame/beefy` tests to come from `sp-core::key_types` enum
      
      * specify both generic for `hex2array_unchecked` in `sp-core/bls.rs`
      
      * Rename `crypto`→`ecdsa_crypto` in `primitives/consensus/beefy/src/test_utils.rs` docs
      
      * remove commented-out code in `primitives/consensus/beefy/src/commitment.rs`
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Fix inconsistency in panic message in  `primitives/io/src/lib.rs`
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Remove redundant feature activation in `primitives/io/Cargo.toml`
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * - make `w3f-bls` a dev-dependancy only for beefy primitives.
      
      - clean up comments.
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * export BEEFY KEY_TYPE from primitives/consensus/beefy
      make `frame/consensus/beefy` in dependent of sp_crypto_app
      use consistent naming in the beefy primitive tests.
      
      * - implement `BeefyAuthorityId` for `bls_crypto::AuthorityId`.
      - implement `bls_verify_works` test for BEEFY `bls_crypto`.
      
      * Remove BEEFY `ecdsa_n_bls_crypto` for now for later re-introduction
      
      * Make commitment and witness BEEFY tests not use Keystore.
      
      * put `bls_beefy_verify_works` test under `bls-experimental` flag.
      
      * bump up Runtime `BeefyAPI` to version 3 due to introducing generic AuthorityId.
      
      * reuse code and encapsulate w3f-bls backend in sp-core as most as possible
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Make comments in primities BEEFY `commitment.rs` and `witness.rs``tests convention conforming
      
      * Use master dep versions
      
      * Trivial change. Mostly to trigger CI
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Fix Cargo.toml
      
      * Trigger CI with cumulus companion
      
      * Trigger CI after polkadot companion change
      
      ---------
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      3fef703e
  6. Jul 18, 2023
  7. Jul 14, 2023
    • juangirini's avatar
      Replace system config `Index` for `Nonce` (#14290) · 6a29a70a
      juangirini authored
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * wip
      
      * remove index in lieu of nonce
      
      * wip
      
      * remove accountnonce in lieu of nonce
      
      * add minor improvement
      
      * rebase and merge conflicts
      6a29a70a
  8. Jul 13, 2023
    • gupnik's avatar
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes... · 5e7b27e9
      gupnik authored
      
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes `Header` and `BlockNumber` (#14437)
      
      * Initial setup
      
      * Adds node block
      
      * Uses UncheckedExtrinsic and removes Where section
      
      * Updates frame_system to use Block
      
      * Adds deprecation warning
      
      * Fixes pallet-timestamp
      
      * Removes Header and BlockNumber
      
      * Addresses review comments
      
      * Addresses review comments
      
      * Adds comment about compiler bug
      
      * Removes where clause
      
      * Refactors code
      
      * Fixes errors in cargo check
      
      * Fixes errors in cargo check
      
      * Fixes warnings in cargo check
      
      * Formatting
      
      * Fixes construct_runtime tests
      
      * Uses import instead of full path for BlockNumber
      
      * Uses import instead of full path for Header
      
      * Formatting
      
      * Fixes construct_runtime tests
      
      * Fixes imports in benchmarks
      
      * Formatting
      
      * Fixes construct_runtime tests
      
      * Formatting
      
      * Minor updates
      
      * Fixes construct_runtime ui tests
      
      * Fixes construct_runtime ui tests with 1.70
      
      * Fixes docs
      
      * Fixes docs
      
      * Adds u128 mock block type
      
      * Fixes split example
      
      * fixes for cumulus
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Updates new tests
      
      * Fixes fully-qualified path in few places
      
      * Formatting
      
      * Update frame/examples/default-config/src/lib.rs
      
      Co-authored-by: default avatarJuan <[email protected]>
      
      * Update frame/support/procedural/src/construct_runtime/mod.rs
      
      Co-authored-by: default avatarJuan <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Addresses some review comments
      
      * Fixes build
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/democracy/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/democracy/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/support/procedural/src/construct_runtime/mod.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/support/procedural/src/construct_runtime/mod.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Addresses review comments
      
      * Updates trait bounds
      
      * Minor fix
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Removes unnecessary bound
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Updates test
      
      * Fixes build
      
      * Adds a bound for header
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Removes where block
      
      * Minor fix
      
      * Minor fix
      
      * Fixes tests
      
      * ".git/.scripts/commands/update-ui/update-ui.sh" 1.70
      
      * Updates test
      
      * Update primitives/runtime/src/traits.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update primitives/runtime/src/traits.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Updates doc
      
      * Updates doc
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarJuan <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      5e7b27e9
  9. Jul 12, 2023
    • Michal Kucharczyk's avatar
      `GenesisBuild<T,I>` deprecated. `BuildGenesisConfig` added. (#14306) · 87d41d0a
      Michal Kucharczyk authored
      
      
      * frame::support: GenesisConfig types for Runtime enabled
      
      * frame::support: macro generating GenesisBuild::build for RuntimeGenesisConfig
      
      * frame: ambiguity BuildStorage vs GenesisBuild fixed
      
      * fix
      
      * RuntimeGenesisBuild added
      
      * Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
      
      This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293.
      
      * Revert "fix"
      
      This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b.
      
      * Revert "RuntimeGenesisBuild added"
      
      This reverts commit 3c131b618138ced29c01ab8d15d8c6410c9e128b.
      
      * Revert "Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed""
      
      This reverts commit 2b1ecd467231eddec69f8d328039ba48a380da3d.
      
      * Revert "Revert "fix""
      
      This reverts commit fd7fa629adf579d83e30e6ae9fd162637fc45e30.
      
      * Code review suggestions
      
      * frame: BuildGenesisConfig added, BuildGenesis deprecated
      
      * frame: some pallets updated with BuildGenesisConfig
      
      * constuct_runtime: support for BuildGenesisConfig
      
      * frame::support: genesis_build macro supports BuildGenesisConfig
      
      * frame: BuildGenesisConfig added, BuildGenesis deprecated
      
      * Cargo.lock update
      
      * test-runtime: fixes
      
      * Revert "fix"
      
      This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b.
      
      * Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
      
      This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293.
      
      * self review
      
      * doc fixed
      
      * ui tests fixed
      
      * fmt
      
      * tests fixed
      
      * genesis_build macrto fixed for non-generic GenesisConfig
      
      * BuildGenesisConfig constraints added
      
      * warning fixed
      
      * some duplication removed
      
      * fmt
      
      * fix
      
      * doc tests fix
      
      * doc fix
      
      * cleanup: remove BuildModuleGenesisStorage
      
      * self review comments
      
      * fix
      
      * Update frame/treasury/src/tests.rs
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      
      * Update frame/support/src/traits/hooks.rs
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      
      * doc fix: GenesisBuild exposed
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * frame: more serde(skip) + cleanup
      
      * Update frame/support/src/traits/hooks.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * frame: phantom fields moved to the end of structs
      
      * chain-spec: Default::default cleanup
      
      * test-runtime: phantom at the end
      
      * merge master fixes
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix (facepalm)
      
      * Update frame/support/procedural/src/pallet/expand/genesis_build.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * fmt
      
      * fix
      
      * fix
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      87d41d0a
  10. Jul 09, 2023
  11. May 24, 2023
    • Bastian Köcher's avatar
      HoldReason: Improve usage (#13869) · 05da6d8e
      Bastian Köcher authored
      
      
      * HoldReason: Improve usage
      
      `HoldReason` was switched recently to use the `composite_enum` attribute that will merge the enums
      from all pallets in the runtime to `RuntimeHoldReason`. `pallet-nis` was still requiring that the
      variant was passed as constant to call `hold`. The proper implementation is to use the `HoldReason`
      from inside the pallet directly when calling `hold`. This is done by adding a `RuntimeHoldReason` as
      type to the `Config` trait and requiring that `Currency` is using the same reason. Besides that the
      pr changes the name `HoldIdentifier` in `pallet_balances::Config` to `RuntimeHoldReason`.
      
      * Update frame/nis/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Review comment
      
      * Fixes
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      05da6d8e
  12. May 11, 2023
    • Ross Bulat's avatar
      Staking::{bond, set_controller} to set controllers to stash only. (#14039) · 56940bc8
      Ross Bulat authored
      
      
      * update set_controller
      
      * clone
      
      * bond uses `stash`
      
      * remove controller from bond(), chill_other test works
      
      * remove ctlr from testing_utils &  dead ctlr -> dead payee
      
      * mvs controllers to stashes for 3 tests
      
      * migrate mock bond fns & fix 1 test
      
      * mvs controllers to stashes for 7 tests
      
      * mvs controllers to stashes for 9 tests
      
      * remove double_controlling_should_fail
      
      * remove double_staking_should_fail
      
      * mvs controllers to stashes for 10 tests
      
      * mvs controllers to stashes for 2 tests
      
      * remove payout_creates_controller
      
      * mvs controllers to stashes for 27 tests
      
      * remove println!
      
      * fix rewards_should_work
      
      * fix test_payout_stakers
      
      * fix bond benchmark
      
      * clone
      
      * rm unused import
      
      * rm unused var
      
      * rm controller from create_offender
      
      * fix GenesisConfig stakers
      
      * fix controllers in consensus pallets
      
      * fix unqiue controller in chain_spec
      
      * fmt
      
      * fix create_offender
      
      * fix set_controller benchmark
      
      * add TODO
      
      * create_unique_stash_controller
      
      * staking benchmarks working
      
      * fmt
      
      * fix args
      
      * rm println
      
      * import
      
      * import
      
      * fix fast unstake tests
      
      * fix staking-tests-e2e
      
      * fix root-offenses
      
      * fmt
      
      * differentiate controller to stash
      
      * bring back change_controller_works w. unique ctrl
      
      * bring back double_staking_should_fail
      
      * double_controlling_attempt_should_fail
      
      * bring back payout_creates_controller
      
      * add commnet to controller balances
      
      * + set_controller call description
      
      * fmt
      
      * rm clones
      
      * fmt
      
      * clippy fixes
      
      * fmt
      
      * update README
      
      * small fixes
      
      * use controller_to_be_deprecated
      
      * .comment
      
      * comment
      
      * bump zombienet version
      
      * ci
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      56940bc8
  13. 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
  14. Mar 11, 2023
  15. Feb 28, 2023
  16. Feb 21, 2023
  17. 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
  18. Sep 20, 2022
    • Sergej Sakac's avatar
      BREAKING: Rename Origin (#12258) · e4b6f4a6
      Sergej Sakac authored
      * BREAKING: Rename Origin
      
      * more renaming
      
      * a bit more renaming
      
      * fix
      
      * more fixing
      
      * fix in frame_support
      
      * even more fixes
      
      * fix
      
      * small fix
      
      * ...
      
      * update .stderr
      
      * docs
      
      * update docs
      
      * update docs
      
      * docs
      e4b6f4a6
  19. Sep 12, 2022
    • Sergej Sakac's avatar
      BREAKING: Rename Call & Event (#11981) · 6e8795af
      Sergej Sakac authored
      
      
      * rename Event to RuntimeEvent
      
      * rename Call
      
      * rename in runtimes
      
      * small fix
      
      * rename Event
      
      * small fix & rename RuntimeCall back to Call for now
      
      * small fixes
      
      * more renaming
      
      * a bit more renaming
      
      * fmt
      
      * small fix
      
      * commit
      
      * prep for renaming associated types
      
      * fix
      
      * rename associated Event type
      
      * rename to RuntimeEvent
      
      * commit
      
      * merge conflict fixes & fmt
      
      * additional renaming
      
      * fix.
      
      * fix decl_event
      
      * rename in tests
      
      * remove warnings
      
      * remove accidental rename
      
      * .
      
      * commit
      
      * update .stderr
      
      * fix in test
      
      * update .stderr
      
      * TRYBUILD=overwrite
      
      * docs
      
      * fmt
      
      * small change in docs
      
      * rename PalletEvent to Event
      
      * rename Call to RuntimeCall
      
      * renamed at wrong places :P
      
      * rename Call
      
      * rename
      
      * rename associated type
      
      * fix
      
      * fix & fmt
      
      * commit
      
      * frame-support-test
      
      * passing tests
      
      * update docs
      
      * rustdoc fix
      
      * update .stderr
      
      * wrong code in docs
      
      * merge fix
      
      * fix in error message
      
      * update .stderr
      
      * docs & error message
      
      * .
      
      * merge fix
      
      * merge fix
      
      * fmt
      
      * fmt
      
      * merge fix
      
      * more fixing
      
      * fmt
      
      * remove unused
      
      * fmt
      
      * fix
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      6e8795af
  20. Jun 22, 2022
    • Adrian Catangiu's avatar
      pallet-beefy-mmr: add API for BEEFY Authority Sets (#11406) · 3018051c
      Adrian Catangiu authored
      
      
      * pallet-beefy: add Config::OnNewValidatorSet type
      
      Add a hook to pallet-beefy for doing specific work when
      BEEFY validator set changes.
      
      For example, this can be used by pallet-beefy-mmr to cache
      a lightweight MMR root over validators and make it available
      to light clients.
      
      * pallet-beefy-mmr: implement OnNewValidatorSet
      
      Implement pallet-beefy::OnNewValidatorSet to be notified of BEEFY
      validator set changes. Use the notifications to compute and cache
      a light weight 'BEEFY authority set' which is an MMR root over
      BEEFY validator set plus some extra info.
      
      Previously, pallet-beefy-mmr was interogating pallet-beefy about
      validator set id on every block to find out when it needs to recompute
      the authority set.
      By using the event-driven approach in this commit, we also save one
      extra state interogation per block.
      
      * pallet-beefy-mmr: add new authority_set() API
      
      Expose current and next BEEFY authority sets through runtime API.
      These can be directly used by light clients to avoid having them
      compute them themselves based on BEEFY validator sets.
      
      Signed-off-by: default avataracatangiu <[email protected]>
      
      * rename BeefyMmr exposed runtime api
      3018051c
  21. Jun 13, 2022
  22. Apr 28, 2022
  23. Feb 15, 2022
    • Davide Galassi's avatar
      Fix beefy mock ecdsa keys (#10854) · 6f53b974
      Davide Galassi authored
      Compressed ECDSA keys requires to have 0x02 or 0x03 as their first byte
      in order to allow public key recovery.
      
      Nevertheless the test was working because of the `unwrap_or_default()`
      at the end of the conversion routine (i.e. the invalid keys were
      converted to an empty vector).
      6f53b974
  24. Jan 03, 2022
  25. Dec 16, 2021
    • dharjeezy's avatar
      Replace parameter_types with ConstU32 &c. (#10402) · 1b0be8ae
      dharjeezy authored
      
      
      * remove parameter types and use const type
      
      * remove parameter types and use const type
      
      * Delete {
      
      * Delete count,
      
      * refractor for beefy, benchmarking, child bounties, and collective pallets
      
      * refractor for pallet contracts
      
      * refractor for elections
      
      * refractor for more pallets
      
      * fix CI issues
      
      * fix CI issues
      
      * fix CI issues
      
      * fix CI issues
      
      * remove warning to fix CI issue
      
      * remove warning to fix CI issue
      refractor for pallet preimage
      
      * remove warning to fix CI issue
      refractor for pallet proxy
      
      * remove warning to fix CI issue
      refractor for pallet recovery
      refractor for pallet randomness-collective-flip
      
      * remove warning to fix CI issue
      refractor for pallet scored-pool
      refractor for pallet scheduler
      refractor for pallet session
      
      * remove warning to fix CI issue
      refractor for pallet society, support, system, timestamp, tips
      
      * remove warning to fix CI issue
      refractor for pallet transaction_payment, transaction_storage, treasury, uniques, utility
      
      * remove warning to fix CI issue
      
      * cargo +nightly fmt
      
      * CI fix
      
      * more param refractor on beefy-mmr
      
      * refractor for beefy
      
      * Update frame/babe/src/mock.rs
      
      * Update frame/babe/src/mock.rs
      
      * Update frame/bounties/src/tests.rs
      
      * Update frame/tips/src/tests.rs
      
      * Delete mock.rs
      
      * Update frame/examples/basic/src/tests.rs
      
      * Apply suggestions from code review
      
      * Update frame/im-online/src/mock.rs
      
      * Update frame/im-online/src/mock.rs
      
      * Update frame/offences/benchmarking/src/mock.rs
      
      * Update frame/session/benchmarking/src/mock.rs
      
      * Update frame/support/test/tests/pallet_compatibility.rs
      
      * Update frame/support/test/tests/pallet_compatibility_instance.rs
      
      * Update frame/treasury/src/tests.rs
      
      * Update test-utils/runtime/src/lib.rs
      
      * some cleanup
      
      * fmt
      
      * remove unused
      
      Co-authored-by: default avatarDamilare <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      1b0be8ae
  26. Dec 09, 2021
  27. Oct 06, 2021
  28. Sep 28, 2021
  29. Sep 23, 2021
    • Andreas Doerr's avatar
      Integrate BEEFY (#9833) · 283c8daa
      Andreas Doerr authored
      
      
      * Initial project setup and skeleton (#4)
      
      * initial project setup for beefy gadget client
      
      * update editorconfig
      
      * update gitignore
      
      * add initial skeleton for beefy gadget worker
      
      * add skeleton for gossip processing
      
      * add app crypto
      
      * move around some code
      
      * add basic flow for voting
      
      * add logic for picking blocks to sign
      
      * add rustfmt config
      
      * add example node with beefy gadget
      
      * use u32::next_power_of_two
      
      * make maximum periodicity configurable
      
      * add copyright header
      
      * rename max_periodicity to min_interval
      
      * CI stuff (#5)
      
      * CI stuff.
      
      * Fix workspace.
      
      * cargo fmt --all
      
      * Add license for beefy-gadget
      
      * One toolchain to rule them all.
      
      * Clippy.
      
      * Fix clippy.
      
      * Clippy in the runtime.
      
      * Fix clippy grumbles.
      
      * cargo fmt --all
      
      * Primitives & Light Client examples (#8)
      
      * Primitives.
      
      * Docs.
      
      * Document primitives.
      
      * Simple tests.
      
      * Light client examples.
      
      * Fix stuff.
      
      * cargo fmt --all
      
      * Add a bunch of tests for imports.
      
      * Add more examples.
      
      * cargo fmt --all
      
      * Fix clippy.
      
      * cargo fmt --all
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Add GRANDPA / FG clarifications.
      
      * Fix min number of signatures.
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update to substrate master (#22)
      
      * update to substrate master
      
      * update dependencies
      
      * fix clippy issues
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Add beefy pallet (#25)
      
      * move beefy application crypto to primitives
      
      * make primitives compile under no_std
      
      * add beefy pallet that maintains authority set
      
      * add beefy pallet to node example runtime
      
      * tabify node-example cargo.toml files
      
      * use double quotes in Cargo.toml files
      
      * add missing hex-literal dependency
      
      * add runtime api to fetch BEEFY authorities
      
      * fix clippy warnings
      
      * rename beefy-pallet to pallet-beefy
      
      * sort dependencies in node-example/runtime/Cargo.toml
      
      * Signed commitments rpc pubsub (#26)
      
      * move beefy application crypto to primitives
      
      * make primitives compile under no_std
      
      * add beefy pallet that maintains authority set
      
      * add beefy pallet to node example runtime
      
      * tabify node-example cargo.toml files
      
      * use double quotes in Cargo.toml files
      
      * add missing hex-literal dependency
      
      * add runtime api to fetch BEEFY authorities
      
      * fix clippy warnings
      
      * gadget: use commitment and signedcommitment
      
      * gadget: send notifications for signed commitments
      
      * gadget: add rpc pubsub for signed commitments
      
      * node-example: enable beefy rpc
      
      * gadget: fix clippy warnings
      
      * rename beefy-pallet to pallet-beefy
      
      * sort dependencies in node-example/runtime/Cargo.toml
      
      * gadget: add documentation on SignedCommitment rpc wrapper type
      
      * gadget: add todos about dummy beefy commitments
      
      * gadget: remove redundant closure
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Integrate MMR and deposit root into the digest. (#24)
      
      * Add basic MMR.
      
      * Deposit digest item.
      
      * cargo fmt --all
      
      * Merge with primitives.
      
      * cargo fmt --all
      
      * Fix extra spaces.
      
      * cargo fmt --all
      
      * Switch branch.
      
      * remove stray whitespace
      
      * update to latest td-mmr commit
      
      * fix clippy error
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * use new mmr root as commitment payload (#27)
      
      * use new mmr root as commitment payload
      
      * fix mmr root codec index
      
      * warn on MMR root digest not found
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * add type alias for MMR root hash
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Bump serde_json from 1.0.59 to 1.0.60 (#28)
      
      * Update to latest substrate. (#32)
      
      * Update to latest substrate.
      
      * Fix tests.
      
      * cargo fmt --all
      
      * Switch to master.
      
      * Bump serde from 1.0.117 to 1.0.118 (#29)
      
      * Bump serde from 1.0.117 to 1.0.118
      
      Bumps [serde](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.118.
      - [Release notes](https://github.com/serde-rs/serde/releases)
      - [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118)
      
      Signed-off-by: default avatardependabot-preview[bot] <[email protected]>
      
      * Bump arc-swap.
      
      Co-authored-by: default avatardependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Remove transition flag (#35)
      
      * Get rid of is_set_transition_flag
      
      * Fix tests.
      
      * cargo fmt --all
      
      * Bump futures from 0.3.9 to 0.3.12 (#50)
      
      * Bump log from 0.4.11 to 0.4.13 (#52)
      
      * Bump Substrate and Deps (#57)
      
      * Update README (#58)
      
      * Update README
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * address review comments
      
      * missed a typo
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Add validator set to the pallet. (#65)
      
      * Bump Substrate and Deps (#71)
      
      * Bump Substrate and Deps
      
      * pin serde and syn
      
      * bump Substrate again for '__Nonexhaustive' fix
      
      * add cargo deny ignore
      
      * Beefy pallet test (#74)
      
      * setup mock
      
      * test session change
      
      * silence beefy
      
      * clippy still
      
      * no change - no log
      
      * clippy again
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * code review changes, added additional test
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Beefy node cleanup (#75)
      
      * bump serde
      
      * bump substrate, scale-codec 2.0.0
      
      * we need a proper beefy node
      
      * rename primitives as well
      
      * Sort members.
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Migrate beefy-pallet to FRAMEv2 (#76)
      
      * migrate beefy-pallet to FRAMEv2
      
      * Code review
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Run BEEFY worker as non-validator (#77)
      
      * run BEEFY worker as non-validator
      
      * don't check for roloe.is_authority
      
      * change enum type name
      
      * Bump Substrate and Deps (#79)
      
      * Add BEEFY gadget as extra peer set (#80)
      
      * Add BEEFY gadget as extra peer set
      
      * use BEEFY protocol
      
      * Add ValidatorSetId to BEEFY digest (#85)
      
      * add ValidatorSetId to BEEFY digest
      
      * apply review changes
      
      * Bump Substrate and Deps (#91)
      
      * Bump Substrate and Deps
      
      * Bump Substrate again in order to include a hot-fix
      
      * redo again
      
      * use CryptoStore issue
      
      * cargo fmt
      
      * Bump serde_json from 1.0.63 to 1.0.64 (#93)
      
      * Track BEEFY validator set (#94)
      
      * Track BEEFY validator set
      
      * Add validator_set_id to BeefyWorker
      
      * Make validattor_set_id optional
      
      * Ad 92 (#97)
      
      * sign_commitment()
      
      * Error handling todo
      
      * Add error type (#99)
      
      * Add error type
      
      * Address review
      
      * Extract worker and round logic (#104)
      
      * Bump serde from 1.0.123 to 1.0.124 (#106)
      
      * Rework BeefyAPI (#110)
      
      * Initialize BeefyWorker with current validator set (#111)
      
      * Update toolchain (#115)
      
      * Use nightly toolchain
      
      * dongradde to latest clippy stable
      
      * GH workflow trail and error
      
      * next try
      
      * use stable for clippy
      
      * update wasm builder
      
      * yet another try
      
      * fun with CI
      
      * no env var
      
      * and one more
      
      * allow from_over_into bco contruct_runtime
      
      * back to start
      
      * well ...
      
      * full circle
      
      * old version was still used
      
      * Bump Substrate and Deps (#117)
      
      * Bump Substrate and Deps
      
      * cargo fmt should enforce uniform imports
      
      * merge some imports
      
      * Delayed BEEFY worker initialization (#121)
      
      * lifecycle state
      
      * add Client convenience trait
      
      * rework trait identifiers
      
      * WIP
      
      * rework BeefyWorker::new() signature
      
      * Delayed BEEFY gadget initialization
      
      * address review
      
      * Bump substrate. (#123)
      
      * Bump substrate.
      
      * Fix tests.
      
      * Lower log-level for a missing validator set (#124)
      
      * lower log-level for a missing validator set
      
      * move best_finalized_block initialization
      
      * Setup Prometheus metrics (#125)
      
      * setup Prometheus metrics
      
      * expose validator set id
      
      * cargo fmt
      
      * Update beefy-gadget/src/lib.rs
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * add vote messages gossiped metric
      
      * track authorities change, before checking for MMR root digest
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Make Client convenience trait public (#126)
      
      * Bump serde from 1.0.124 to 1.0.125 (#131)
      
      * Reset rounds on new validator set. (#133)
      
      * Re-set rounds on new validator set.
      
      * Fix docs.
      
      * Bump Substrate and Deps (#134)
      
      * beefy: authority set changes fixes (#139)
      
      * node: fix grandpa peers set config
      
      * gadget: update best finalized number only when finalized with beefy
      
      * gadget: process authorities changes regardless of vote status
      
      * gadget: remove superfluous signature type (#140)
      
      * node: fix grandpa peers set config
      
      * gadget: update best finalized number only when finalized with beefy
      
      * gadget: process authorities changes regardless of vote status
      
      * gadget: remove superfluous signature type
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * gadget: reduce gossip spam (#141)
      
      * node: fix grandpa peers set config
      
      * gadget: update best finalized number only when finalized with beefy
      
      * gadget: process authorities changes regardless of vote status
      
      * gadget: remove superfluous signature type
      
      * gadget: only gossip last 5 rounds
      
      * gadget: note round to gossip validator before gossiping message
      
      * gadget: fix clippy warnings
      
      * gadget: update docs
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avataradoerr <[email protected]>
      
      * gadget: verify SignedCommitment message signature (#142)
      
      * gadget: verify SignedCommitment message signature
      
      * gadget: log messages with bad sigs
      
      * gadget: move todo comment
      
      * Bump futures from 0.3.13 to 0.3.14 (#145)
      
      * Milestone 1 (#144)
      
      * use best_finalized, prevent race
      
      * make best_finalized_block an Option, should_vote_on bails on None
      
      * Bump futures from 0.3.13 to 0.3.14
      
      * Revert futures bump
      
      * Revert "Revert futures bump"
      
      This reverts commit a1b5e7e9bac526f2897ebfdfee7f02dd29a13ac5.
      
      * Revert "Bump futures from 0.3.13 to 0.3.14"
      
      This reverts commit a4e508b118ad2c4b52909d24143c284073961458.
      
      * debug msg if the bail voting
      
      * validator_set()
      
      * local_id()
      
      * get rid of worker state
      
      * Apply review suggestions
      
      * fix should_vote_on()
      
      * Extract BeefyGossipValidator (#147)
      
      * Extract BeefyGossipValidator
      
      * Apply review suggestions
      
      * Add block_delta parameter to start_beefy_gadget (#151)
      
      * Add block_delta parameter
      
      * rename to min_block_delta
      
      * Add additional metrics (#152)
      
      * Add additional metrics
      
      * add skipped session metric
      
      * add some comment for temp metric
      
      * don't log under info for every concluded round (#156)
      
      * don't log error on missing validator keys (#157)
      
      * don't log error on missing validator keys
      
      * remove unused import
      
      * Fix validator set change handling (#158)
      
      * reduce some logs from debug to trace
      
      * fix validator set changes handling
      
      * rename validator module to gossip
      
      * run rustfmt
      
      * Fix should_vote_on() (#160)
      
      * Fix should_vote_on()
      
      * by the textbook
      
      * fix the algorithm
      
      * Apply review suggestions
      
      * don't use NumberFor in vote_target
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Make KeyStore optional (#173)
      
      * Use builder pattern for NonDefaultSetConfig (#178)
      
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Append SignedCommitment to block justifications (#177)
      
      * Append SignedCommitment
      
      * add BeefyParams
      
      * add WorkerParams
      
      * use warn
      
      * versioned variant for SignedCommitment
      
      * Bump serde from 1.0.125 to 1.0.126 (#184)
      
      Bumps [serde](https://github.com/serde-rs/serde) from 1.0.125 to 1.0.126.
      - [Release notes](https://github.com/serde-rs/serde/releases)
      - [Commits](https://github.com/serde-rs/serde/compare/v1.0.125...v1.0.126)
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Bump strum from 0.20.0 to 0.21.0 (#195)
      
      * Bump strum from 0.20.0 to 0.21.0
      
      Bumps [strum](https://github.com/Peternator7/strum) from 0.20.0 to 0.21.0.
      - [Release notes](https://github.com/Peternator7/strum/releases)
      - [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/Peternator7/strum/commits)
      
      ---
      updated-dependencies:
      - dependency-name: strum
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      * use dervie feature for strum; clippy and deny housekeeping
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Make concluded round an info log (#200)
      
      * Remove external crypto trait bounds (#207)
      
      * BeefyKeystore newtype
      
      * WIP
      
      * remove mod ecdsa
      
      * WIP
      
      * fix tests
      
      * some polishing
      
      * Rename AuthorityId to BeefyId to avoid type conflict in UI (#211)
      
      * Add trace points; Reduce MAX_LIVE_GOSSIP_ROUNDS (#210)
      
      * Add trace points; Reduce MAX_LIVE_GOSSIP_ROUNDS
      
      * log local authority id
      
      * Additional initial authority id's (#217)
      
      * Scratch concluded rounds
      
      * adjust testnet doc
      
      * fix authority key typo
      
      * We don't want no scratches
      
      * address review comments
      
      * Fix note_round() (#219)
      
      * rename BeefyGossipValidator
      
      * Fix note_round()
      
      * use const for assert
      
      * put message trace points back in
      
      * test case note_same_round_twice()
      
      * address review comments
      
      * remove redundant check
      
      * Use LocalKeystore for tests (#224)
      
      * private_keys()
      
      * Use LocalKeystore for tests
      
      * Use keystore helper
      
      * Address review
      
      * some reformatting
      
      * Cache known votes in gossip (#227)
      
      * Implement known messages cache.
      
      * Add tests.
      
      * Appease clippy.
      
      * More clippy
      
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Some key store sanity checks (#232)
      
      * verify vote message
      
      * verify_validator_set()
      
      * rework logging
      
      * some rework
      
      * Tone down warnings.
      
      * Add signature verification.
      
      * Tone down more.
      
      * Fix clippy
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Use Binary Merkle Tree instead of a trie (#225)
      
      * Binary tree merkle root.
      
      * Add proofs and verification.
      
      * Clean up debug.
      
      * Use BEEFY addresses instead of pubkeys.
      
      * Use new merkle tree.
      
      * Optimize allocations.
      
      * Add test for larger trees.
      
      * Add tests for larger cases.
      
      * Appease clippy
      
      * Appease clippy2.
      
      * Fix proof generation & verification.
      
      * Add more test data.
      
      * Fix CLI.
      
      * Update README
      
      * Bump version.
      
      * Update docs.
      
      * Rename beefy-merkle-root to beefy-merkle-tree
      
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Bump Substrate and Deps (#235)
      
      * BEEFY+MMR pallet (#236)
      
      * Add MMR leaf format to primitives.
      
      * Fix tests
      
      * Initial work on the BEEFY-MMR pallet.
      
      * Add tests to MMR pallet.
      
      * Use eth addresses.
      
      * Use binary merkle tree.
      
      * Bump libsecp256k1
      
      * Fix compilation.
      
      * Bump deps.
      
      * Appease cargo deny.
      
      * Re-format.
      
      * Module-level docs.
      
      * no-std fix.
      
      * update README
      
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Fix noting rounds for non-authorities (#238)
      
      * Bump env_logger from 0.8.4 to 0.9.0 (#242)
      
      Bumps [env_logger](https://github.com/env-logger-rs/env_logger) from 0.8.4 to 0.9.0.
      - [Release notes](https://github.com/env-logger-rs/env_logger/releases)
      - [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
      - [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.8.4...v0.9.0)
      
      ---
      updated-dependencies:
      - dependency-name: env_logger
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * gadget: add global timeout for rebroadcasting messages (#243)
      
      * gadget: add global timeout for rebroadcasting messages
      
      * update rustfmt.toml
      
      * make message_allowed() a debug trace
      
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Bump Substrate and Deps (#245)
      
      * Bump Substrate and Deps
      
      * Bump Substrate again
      
      * Bump futures from 0.3.15 to 0.3.16 (#247)
      
      Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.15 to 0.3.16.
      - [Release notes](https://github.com/rust-lang/futures-rs/releases)
      - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.15...0.3.16)
      
      ---
      updated-dependencies:
      - dependency-name: futures
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Bump libsecp256k1 from 0.5.0 to 0.6.0 (#249)
      
      * Bump libsecp256k1 from 0.5.0 to 0.6.0
      
      Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1) from 0.5.0 to 0.6.0.
      - [Release notes](https://github.com/paritytech/libsecp256k1/releases)
      - [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/libsecp256k1/commits)
      
      ---
      updated-dependencies:
      - dependency-name: libsecp256k1
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      * use correct crate name
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Derive `scale_info::TypeInfo` for types used in polkadot (#218)
      
      * Add scale-info TypeInfo derives
      
      * Update scale-info
      
      * Add crates.io patches
      
      * Use substrate aj-metadata-vnext branch
      
      * Revert master branch substrate deps
      
      * Add scale-info to beefy-pallet
      
      * scale-info v0.9.0
      
      * Remove github dependencies and patches
      
      * More TypeInfo derives
      
      * Update scale-info to 0.10.0
      
      * Add missing scale-info dependency
      
      * Add missing TypeInfo derive
      
      * Hide TypeInfo under a feature.
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * Bump serde from 1.0.126 to 1.0.127 (#260)
      
      Bumps [serde](https://github.com/serde-rs/serde) from 1.0.126 to 1.0.127.
      - [Release notes](https://github.com/serde-rs/serde/releases)
      - [Commits](https://github.com/serde-rs/serde/compare/v1.0.126...v1.0.127)
      
      ---
      updated-dependencies:
      - dependency-name: serde
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Bump Substrate and Deps (#262)
      
      * Update jsonrpc (#265)
      
      * Update jsonrpc
      
      * Update Substrate
      
      * bump Substrate and Deps (#268)
      
      * Bump serde from 1.0.127 to 1.0.128 (#272)
      
      Bumps [serde](https://github.com/serde-rs/serde) from 1.0.127 to 1.0.128.
      - [Release notes](https://github.com/serde-rs/serde/releases)
      - [Commits](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.128)
      
      ---
      updated-dependencies:
      - dependency-name: serde
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Fix spelling (#271)
      
      * Bump serde from 1.0.128 to 1.0.130 (#276)
      
      Bumps [serde](https://github.com/serde-rs/serde) from 1.0.128 to 1.0.130.
      - [Release notes](https://github.com/serde-rs/serde/releases)
      - [Commits](https://github.com/serde-rs/serde/compare/v1.0.128...v1.0.130)
      
      ---
      updated-dependencies:
      - dependency-name: serde
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      
      * Bump scale-info from 0.10.0 to 0.12.0 (#275)
      
      Bumps [scale-info](https://github.com/paritytech/scale-info) from 0.10.0 to 0.12.0.
      - [Release notes](https://github.com/paritytech/scale-info/releases)
      - [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/scale-info/commits)
      
      ---
      updated-dependencies:
      - dependency-name: scale-info
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Update to scale-info 1.0 (#278)
      
      * bump substrate (#282)
      
      * bump Substrate and Deps
      
      * cargo fmt
      
      Co-authored-by: default avatarWenfeng Wang <[email protected]>
      
      * Update worker.rs (#287)
      
      * Bump anyhow from 1.0.43 to 1.0.44 (#290)
      
      * Bump anyhow from 1.0.43 to 1.0.44
      
      Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.43 to 1.0.44.
      - [Release notes](https://github.com/dtolnay/anyhow/releases)
      - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.43...1.0.44)
      
      ---
      updated-dependencies:
      - dependency-name: anyhow
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      * derive Default
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avataradoerr <[email protected]>
      
      * Remove optional `scale-info` feature (#292)
      
      * Make scale-info dependency non-optional
      
      * Remove feature gated TypeInfo derives
      
      * Import TypeInfo
      
      * Update substrate
      
      * Fix up runtime
      
      * prune .git suffix (#294)
      
      * remove unused deps (#295)
      
      * remove unused deps
      
      * update lock file
      
      * Bump libsecp256k1 from 0.6.0 to 0.7.0 (#296)
      
      * Bump libsecp256k1 from 0.6.0 to 0.7.0
      
      Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1) from 0.6.0 to 0.7.0.
      - [Release notes](https://github.com/paritytech/libsecp256k1/releases)
      - [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/libsecp256k1/commits)
      
      ---
      updated-dependencies:
      - dependency-name: libsecp256k1
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      * update sec advisories
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avataradoerr <[email protected]>
      
      * clean compile
      
      * use path dependencies
      
      * beefy-gadget license header
      
      * pallet-beefy license header
      
      * pallet-beefy-mmr license header
      
      * beefy-primitves license header
      
      * carg fmt
      
      * more formatting
      
      * shorten line
      
      * downgrade parity-scale-codec to 2.2.0
      
      * use path dependency for Prometheus endpoint
      
      * remove clippy annotations
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatardependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatardrewstone <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarWenfeng Wang <[email protected]>
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      283c8daa