1. May 12, 2023
    • Arkadiy Paronyan's avatar
      Bump parity-db (#14114) · e2e99454
      Arkadiy Paronyan authored
      e2e99454
    • Anton's avatar
      Upgrade to libp2p 0.51.3 (#13587) · e4b1aa18
      Anton authored
      * client/network: upgrade to libp2p 0.51.0
      
      * make discovery.rs compile
      
      * make peer_info.rs compile
      
      * changes to notifications and request-response proto
      
      * make service.rs compile
      
      * towards making request_responses.rs compile
      
      * make request_responses.rs compile
      
      * make request_responses.rs compile
      
      * fix notifications/behaviour.rs tests
      
      * fix warnings
      
      * remove old code
      
      * allow deprecated code (temporary)
      
      * upgrade to libp2p 0.51.1
      
      * add TODO for behaviour tests
      
      * return empty vec if peer_id is absent
      
      https://github.com/paritytech/substrate/pull/13587#discussion_r1141695167
      
      
      
      fyi: I don't really know what the old behaviour was.
      
      * update comment to reflect new defaults
      
      Closes #13338
      
      * Revert "update comment to reflect new defaults"
      
      This reverts commit 7a981abd69308e9d522ec94905f181439a1b1dba.
      
      * remove config.rs (from wrong merge)
      
      * upgrade to libp2p 0.51.2
      
      * fix formatting
      
      * use handle_pending_outbound_connection in networt_state RPC
      
      * update deps
      
      * use re-exports when we use other libp2p packages
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      
      * format code
      
      * handle potential errors in network_state RPC
      
      * only update libp2p crate
      
      * update libp2p-core
      
      * fix docs
      
      * use libp2p-identity instead of libp2p
      
      where it's possible. libp2p-identity is much smaller, hence makes sense
      to use it instead of larger libp2p crate.
      
      * Update client/network/src/discovery.rs
      
      Co-authored-by: default avatarAaro Altonen <[email protected]>
      
      * update Cargo.lock
      
      * add comment for per_connection_event_buffer_size
      
      current value is somewhat arbitrary and needs to be tweaked depending on
      memory usage and network worker sleep stats.
      
      * fix link format
      
      * update Cargo.lock
      
      * upgrade to libp2p 0.51.3
      
      * deprecate mplex
      
      * Revert "deprecate mplex"
      
      This reverts commit 9e25820e706e464a0e962a8604861fcb2a7641eb.
      
      * Revert "upgrade to libp2p 0.51.3"
      
      This reverts commit 6544dd4138e2f89517bd7c7281fc78a638ec7040.
      
      * use new libp2p version in `statement` crate
      
      * pin version temporarily
      
      * libp2p 0.51.3
      
      * deprecate mplex
      
      * deprecate legacy noise handshake
      
      * fix build error
      
      * update libp2p-identity
      
      * enable libp2p-identity:ed25519 feature in sc-consensus
      
      * enable ed25519 for peerset as well
      
      ---------
      
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      Co-authored-by: default avatarAaro Altonen <[email protected]>
      Co-authored-by: parity-processbot <>
      e4b1aa18
  2. 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
    • Falco Hirschenberger's avatar
      Create benchmark for the `system::set_code` instrisic (#13373) · 0eeaf770
      Falco Hirschenberger authored
      
      
      * Still WIP
      
      # Conflicts:
      #	frame/system/src/weights.rs
      
      * Still WIP
      
      * Add benchmark for system::set_code intrinsic
      
      fixes #13192
      
      * Fix format
      
      * Add missing benchmark runtime
      
      * Fix lint warning
      
      * Consume the rest of the block and add test verification after the benchmark
      
      * Rewrite set_code function
      
      * Try to fix benchmarks and tests
      
      * Remove weight tags
      
      * Update frame/system/src/tests.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Register ReadRuntimeVersionExt for benches
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix tests
      
      * Fix deprecations
      
      * Fix deprecations
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev frame_system
      
      * Add update info and remove obsolete complexity comments.
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/benchmarking/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update README.md
      
      Just trigger CI rebuild
      
      * Update README.md
      
      Trigger CI
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      0eeaf770
    • Muharem Ismailov's avatar
      Assets: impl ContainsPair for asset and account IDs (#14119) · 05201c40
      Muharem Ismailov authored
      * Assets impl ContainsPair for asset and account IDs
      
      * clap version
      05201c40
    • Doordashcon's avatar
      Benchmark pallet sudo (#13880) · 4795c29e
      Doordashcon authored
      
      
      * set_key
      
      * v2
      
      * update runtime
      
      * cargo fmt
      
      * remove commenting
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_sudo
      
      * impl weights
      
      * sudo & sudo_as
      
      * where
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_sudo
      
      * update weights
      
      * cargo fmt
      
      * Update Cargo.lock
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      4795c29e
    • Aaro Altonen's avatar
      Prepare `sc-network` for `ProtocolController`/`NotificationService` (#14080) · f36749b9
      Aaro Altonen authored
      
      
      * Prepare `sc-network` for `ProtocolController`/`NotificationService`
      
      The upcoming notification protocol refactoring requires that protocols
      are able to communicate with `sc-network` over unique and direct links.
      This means that `sc-network` side of the link has to be created before
      `sc-network` is initialized and that it is allowed to consume the object
      as the receiver half of the link may not implement `Clone`.
      
      Remove request-response and notification protocols from `NetworkConfiguration`
      and create a new object that contains the configurations of these protocols
      and which is consumable by `sc-network`. This is needed needed because, e.g.,
      the receiver half of `NotificationService` is not clonable so `sc-network`
      must consume it when it's initializing the protocols in `Notifications`.
      
      Similar principe applies to `PeerStore`/`ProtocolController`: as per current
      design, protocols are created before the network so `Protocol` cannot be
      the one creating the `PeerStore` object. `FullNetworkConfiguration` will be
      used to store the objects that `sc-network` will use to communicate with
      protocols and it will also allow protocols to allocate handles so they
      can directly communicate with `sc-network`.
      
      * Fixes
      
      * Update client/service/src/builder.rs
      
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      
      * Updates
      
      * Doc updates + cargo-fmt
      
      ---------
      
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      f36749b9
  3. May 10, 2023
  4. May 09, 2023
  5. May 08, 2023
  6. May 07, 2023
  7. May 05, 2023
  8. May 04, 2023
    • Bastian Köcher's avatar
      Improve handling of unset `StorageVersion` (#13417) · e2547f50
      Bastian Köcher authored
      
      
      * Improve handling of unset `StorageVersion`
      
      When a user is forgetting to set the storage version in a pallet and calls
      `current_storage_version` to compare it against the `on_chain_storage_version` it will now fail to
      compile the code. Before the pallet macro just returned `StorageVersion::default()` for
      `current_storage_version` leading to potential issues with migrations. Besides that it also checks
      in `post_upgrade` that the pallet storage version was upgraded and thus, no migration was missed.
      
      * Use correct `Cargo.lock`
      
      * Fixes
      
      * Fix test
      
      * Update frame/support/test/tests/pallet.rs
      
      * Ensure we don't set a storage version when the pallet is missing the attribute
      
      * Fix merge conflict
      
      * Update frame/support/procedural/src/pallet/expand/hooks.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/support/procedural/src/pallet/expand/hooks.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Fix compilation
      
      * Do not run everything with `try-runtime`
      
      * Fix test
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix `no-metadata-docs`
      
      ---------
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: parity-processbot <>
      e2547f50
    • Ross Bulat's avatar
      add fast unstake (#14077) · 0e55bace
      Ross Bulat authored
      Co-authored-by: parity-processbot <>
      0e55bace
    • Liam Aharon's avatar
      fungible conformance tests: Inspect and Mutate (#13852) · 9c53fd72
      Liam Aharon authored
      
      
      * typo
      
      * - create test files for each fungile trait
      - begin implementing tests for the Inspect trait
      
      * wrap inspect tests in a macro
      
      * first run of mutate tests
      
      * move test implementation out of ballances
      
      * make tests more generic
      
      * transfer tests
      
      * combine inspect and mutate tests
      
      * set balance failing tests
      
      * can_deposit tests
      
      * can_withdraw tests
      
      * test reducible_balance
      
      * remove balanced stub
      
      * revert set_balance return val fix
      
      * typo
      
      * macro and dust trap tests
      
      * disable test when it doesn't make sense
      
      * remove debug comment
      
      * reduce macro boilerplate
      
      * improved var naming
      
      * improve variable naming
      
      * remove redundant comment
      
      * remove placeholder tests
      
      * remove placeholder tests
      
      * simplify macro
      
      * Update frame/balances/src/tests/fungible_conformance_tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use Balance from T
      
      * fix copyright
      
      * add test doc comments
      
      * improve test naming
      
      * clippy
      
      * fix rustdoc errors
      
      * fix rustdoc
      
      * improve macro
      
      * improve variable naming
      
      * remove redundant comment
      
      * use path
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      9c53fd72
    • Michal Kucharczyk's avatar
      substrate-test-runtime migrated to "pure" frame runtime (#13737) · 6a295e7c
      Michal Kucharczyk authored
      * substrate-test-runtime migrated to pure-frame based
      
      * test block builder: helpers added
      
      * simple renaming
      
      * basic_authorship test adjusted
      
      * block_building storage_proof test adjusted
      
      * babe: tests: should_panic expected added
      
      * babe: tests adjusted
      
      ConsensusLog::NextEpochData is now added by pallet_babe as
      pallet_babe::SameAuthoritiesForever trigger is used in runtime config.
      
      * beefy: tests adjusted
      
      test-substrate-runtime is now using frame::executive to finalize the
      block. during finalization the digests stored during block execution are
      checked against header digests:
      https://github.com/paritytech/substrate/blob/91bb2d29ca905599098a5b35eaf24867c4fbd60a/frame/executive/src/lib.rs#L585-L591
      
      It makes impossible to directly manipulate header's digets, w/o
      depositing logs into system pallet storage `Digest<T: Config>`.
      
      Instead of this dedicated extrinsic allowing to store logs items
      (MmrRoot / AuthoritiesChange) is used.
      
      * grandpa: tests adjusted
      
      test-substrate-runtime is now using frame::executive to finalize the
      block. during finalization the digest logs stored during block execution are
      checked against header digest logs:
      https://github.com/paritytech/substrate/blob/91bb2d29ca905599098a5b35eaf24867c4fbd60a/frame/executive/src/lib.rs#L585-L591
      
      
      
      It makes impossible to directly manipulate header's digets, w/o
      depositing logs into system pallet storage `Digest<T: Config>`.
      
      Instead of this dedicated extrinsic allowing to store logs items
      (ScheduledChange / ForcedChange and DigestItem::Other) is used.
      
      * network:bitswap: test adjusted
      
      The size of unchecked extrinsic was increased. The pattern used in test will
      be placed at the end of scale-encoded buffer.
      
      * runtime apis versions adjusted
      
      * storage keys used in runtime adjusted
      
      * wasm vs native tests removed
      
      * rpc tests: adjusted
      
      Transfer transaction processing was slightly improved, test was
      adjusted.
      
      * tests: sizes adjusted
      
      Runtime extrinsic size was increased. Size of data read during block
      execution was also increased due to usage of new pallets in runtime.
      
      Sizes were adjusted in tests.
      
      * cargo.lock update
      
      cargo update -p substrate-test-runtime -p substrate-test-runtime-client
      
      * warnings fixed
      
      * builders cleanup: includes / std
      
      * extrinsic validation cleanup
      
      * txpool: benches performance fixed
      
      * fmt
      
      * spelling
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Apply code review suggestions
      
      * Apply code review suggestions
      
      * get rid of 1063 const
      
      * renaming: UncheckedExtrinsic -> Extrinsic
      
      * test-utils-runtime: further step to pure-frame
      
      * basic-authorship: tests OK
      
      * CheckSubstrateCall added + tests fixes
      
      * test::Transfer call removed
      
      * priority / propagate / no sudo+root-testing
      
      * fixing warnings + format
      
      * cleanup: build2/nonce + format
      
      * final tests fixes
      
      all tests are passing
      
      * logs/comments removal
      
      * should_not_accept_old_signatures test removed
      
      * make txpool benches work again
      
      * Cargo.lock reset
      
      * format
      
      * sudo hack removed
      
      * txpool benches fix+cleanup
      
      * .gitignore reverted
      
      * rebase fixing + unsigned cleanup
      
      * Cargo.toml/Cargo.lock cleanup
      
      * force-debug feature removed
      
      * mmr tests fixed
      
      * make cargo-clippy happy
      
      * network sync test uses unsigned extrinsic
      
      * cleanup
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * push_storage_change signed call remove
      
      * GenesisConfig cleanup
      
      * fix
      
      * fix
      
      * GenesisConfig simplified
      
      * storage_keys_works: reworked
      
      * storage_keys_works: expected keys in vec
      
      * storage keys list moved to substrate-test-runtime
      
      * substrate-test: some sanity tests + GenesisConfigBuilder rework
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Apply suggestions from code review
      
      * Review suggestions
      
      * fix
      
      * fix
      
      * beefy: generate_blocks_and_sync block_num sync with actaul value
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * Update test-utils/runtime/src/genesismap.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * cargo update -p sc-rpc -p sc-transaction-pool
      
      * Review suggestions
      
      * fix
      
      * doc added
      
      * slot_duration adjusted for Babe::slot_duration
      
      * small doc fixes
      
      * array_bytes::hex used instead of hex
      
      * tiny -> medium name fix
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      
      * TransferData::try_from_unchecked_extrinsic -> try_from
      
      * Update Cargo.lock
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      6a295e7c
    • Davide Galassi's avatar
      Refinements to VRF types (#14036) · 3a90728d
      Davide Galassi authored
      * Allow extra signing data
      
      * Fix tests after renaming
      
      * Rename VrfSecret/VrfVerifier to VrfSecret/VrfPublic
      
      * Further encrapsulation of 'transcript' type to the sr25519 implementation
      
      * Keystore sr25519 pre-output
      
      * Leave additional custom input field hidden in the associated VrfInput type
      
      * Fix test
      
      * More ergonomic output_bytes
      
      * Trigger pipeline
      
      * Define a separated type for vrf signature data
      
      * Fix docs
      
      * Fix doc
      
      * Remove annotation
      
      * Directly use dleq_proove and dleq_verify in sr25519
      
      * Trigger CI
      
      * Remove cruft before merge
      3a90728d
    • Vladimir Istyufeev's avatar