Skip to content
  1. Dec 19, 2022
    • Qinxuan Chen's avatar
      *: update `rand` to v0.8.5 (#12962) · 40c04cf1
      Qinxuan Chen authored
      * *: update rand to v0.8.5
      
      * *: remove useless deps from Cargo.toml
      
      * fix pallet-session-benchmarking
      
      * fix pallet-election-provider-support test
      
      * remove useless rand from dev-dependencies
      40c04cf1
  2. Dec 14, 2022
  3. Dec 13, 2022
    • Bastian Köcher's avatar
      Fixup some wrong dependencies (#12899) · c0c8d630
      Bastian Köcher authored
      * Fixup some wrong dependencies
      
      Dev dependencies should not appear in the feature list. If features are required, they should be
      directly enabled for the `dev-dependency`.
      
      * More fixups
      
      * Fix fix
      
      * Remove deprecated feature
      
      * Make all work properly and nice!!
      
      * FMT
      
      * Fix formatting
      c0c8d630
  4. Dec 11, 2022
  5. Dec 09, 2022
  6. Dec 08, 2022
    • Keith Yeung's avatar
      Introduce sensible weight constants (#12868) · 51db8c77
      Keith Yeung authored
      * Introduce sensible weight constants
      
      * cargo fmt
      
      * Remove unused import
      
      * Add missing import
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_lottery
      
      Co-authored-by: command-bot <>
      51db8c77
  7. Dec 07, 2022
    • João Paulo Silva de Souza's avatar
      Implement crate publishing on CI (#12768) · 8751f88f
      João Paulo Silva de Souza authored
      
      
      * implement crate publishing from CI
      
      * fix indentation
      
      * use resource_group for job exclusivity
      
      ensure that at most one instance of the publish-crates job is running at any given time to prevent race conditions
      
      * correct publish = false
      
      * Remove YAML anchors as GitLab's `extends:` doesn't need it
      
      * Temporarily force cache upload for the new jobs
      
      * Revert `RUSTY_CACHIER_FORCE_UPLOAD`
      
      * pin libp2p-tcp=0.37.0 for sc-telemetry
      
      * Revert "pin libp2p-tcp=0.37.0 for sc-telemetry"
      
      This reverts commit 29146bfad6c31e8cf0e2f17ad92a71bb81a373af.
      
      * always collect generated crates
      
      * increase timeout for publish-crates-template
      
      * Force upload the new job cache again
      
      * Revert "Force upload the new job cache again"
      
      This reverts commit 5a5feee1b2c51fdef768b25a76be4c3949ec1c99.
      
      * reformat
      
      * improve timeout explanation
      
      * s/usual/average
      
      Co-authored-by: Vladimir Istyufeev's avatarVladimir Istyufeev <[email protected]>
      8751f88f
    • Alexander Theißen's avatar
      Remove sandboxing host function interface (#12852) · 32578cb0
      Alexander Theißen authored
      * Remove sandboxing interface
      
      * Remove unused struct
      32578cb0
  8. Dec 06, 2022
  9. Dec 05, 2022
  10. Dec 04, 2022
    • Bastian Köcher's avatar
      frame-executive: Reject invalid inherents in the executive (#12365) · 1943e25c
      Bastian Köcher authored
      
      
      * frame-executive: Reject invalid inherents in the executive
      
      We already had support for making a block fail if an inherent returned, but it was part of the
      signed extension `CheckWeight`. Rejecting blocks with invalid inherents should happen on the
      `frame-executive` level without requiring any special signed extension. This is crucial to prevent
      any kind of spamming of the network that could may happen with blocks that include failing inherents.
      
      * FMT
      
      * Update frame/executive/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update primitives/runtime/src/transaction_validity.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      1943e25c
  11. Dec 01, 2022
    • alexgparity's avatar
      Reduce provisioner work (#12749) · d20e4958
      alexgparity authored
      
      
      * Move create_inherent_data call to use side
      
      * Make provide_inherent_data async
      
      * Fix tests
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Log errors
      
      * Fix test
      
      * Fix test
      
      * fix
      
      * Deduplicate test code
      
      * fix
      
      * flag
      
      * Update client/consensus/slots/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Revert "Deduplicate test code"
      
      This reverts commit ba46adbe089329c78cd69ccdb08e27ed67bd77cf.
      
      * Fix test
      
      * remove commented out code
      
      * minor to start CI run
      
      * start CI
      
      * Update client/consensus/slots/src/lib.rs
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * Apply PR suggestions
      
      * Apply PR suggestions
      
      * Update client/consensus/slots/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * minor
      
      * kickoff CI
      
      * PR suggestions
      
      * Compute remaining duration instead of using slot_info.duration
      
      * Don't rely on sub implementation for Instant
      
      * Apply PR suggestions
      
      * Use saturating_duration_since
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: parity-processbot <>
      d20e4958
  12. Nov 30, 2022
  13. Nov 29, 2022
  14. Nov 27, 2022
    • Bastian Köcher's avatar
      ed25519_verify: Support using dalek for historical blocks (#12661) · 0c934a93
      Bastian Köcher authored
      
      
      * ed25519_verify: Support using dalek for historical blocks
      
      The switch from `ed25519-dalek` to `ed25519-zebra` was actually a breaking change. `ed25519-zebra`
      is more permissive. To support historical blocks when syncing a chain this pull request introduces
      an externalities extension `UseDalekExt`. This extension is just used as a signaling mechanism to
      `ed25519_verify` to use `ed25519-dalek` when it is present. Together with `ExtensionBeforeBlock` it
      can be used to setup a node in way to sync historical blocks that require `ed25519-dalek`, because
      they included a transaction that verified differently as when using `ed25519-zebra`.
      
      This feature can be enabled in the following way. In the chain service file, directly after the
      client is created, the following code should be added:
      
      ```
      use sc_client_api::ExecutorProvider;
      client.execution_extensions().set_extensions_factory(
      	sc_client_api::execution_extensions::ExtensionBeforeBlock::<Block, sp_io::UseDalekExt>::new(BLOCK_NUMBER_UNTIL_DALEK_SHOULD_BE_USED)
      );
      ```
      
      * Fix doc
      
      * More fixes
      
      * Update client/api/src/execution_extensions.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Fix merge and warning
      
      * Fix docs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      0c934a93
  15. Nov 25, 2022
  16. Nov 22, 2022
  17. Nov 21, 2022
    • Adrian Catangiu's avatar
      client/beefy: persist voter state (#12712) · 3e7a2778
      Adrian Catangiu authored
      
      
      * client/beefy: prepare worker for persisting state
      
      * client/beefy: persist voter state
      
      * client/beefy: initialize persistent state
      
      * client/beefy: try to vote from the very beginning
      
      Now that voter is initialized from persistent state, it makes
      sense that it can attempt voting right away. This also helps
      the genesis case when we consider block `One` as mandatory.
      
      * client/beefy: add tests for voter state db
      * client/beefy: persist voter state as soon as initialized
      * client/beefy: make sure min-block-delta is at least 1
      * client/beefy: persist state after voting
      
      Persist state after handling self vote to avoid double voting in case
      of voter restarts.
      
      * client/beefy: persist state after handling mandatory block vote
      
      For mandatory blocks we want to make sure we're not losing votes
      in case of crashes or restarts, since voter will not make further
      progress without finalizing them.
      
      * frame/beefy: use GENESIS_AUTHORITY_SET_ID on pallet genesis
      
      * client/beefy: initialize voter at either genesis or last finalized
      To guarantee unbroken chain of mandatory blocks justifications, voter
      will always resume from either last BEEFY-justified block or
      `pallet-beefy` genesis, whichever is more recent.
      
      Initialization walks back the chain from latest GRANDPA finalized
      block looking for one of the above. Along the way, it also records
      and enqueues for processing any BEEFY mandatory blocks that have
      been already GRANDPA finalized but not BEEFY finalized.
      
      * client/beefy: decouple voter init from aux db state load
      * client/beefy: fix voter init tests
      * remove debug prints
      * gadget future must be type ()
      * fix init from last justification
      
      Signed-off-by: default avatarAdrian Catangiu <[email protected]>
      3e7a2778
  18. Nov 18, 2022
  19. Nov 16, 2022
  20. Nov 15, 2022
  21. Nov 11, 2022
  22. Nov 10, 2022
  23. Nov 09, 2022
    • Bastian Köcher's avatar
      GrandpaJustification: Feature gate `Debug` (#12664) · ef0cc330
      Bastian Köcher authored
      The grandpa crate is deriving `Debug` only when the `std` feature is enabled. `RuntimeDebug` can be
      forced to derive `Debug` also in `no_std` and that doesn't work together. So, we should feature gate
      `Debug` on `no_std`.
      ef0cc330
    • Andrew Jones's avatar
      `sp-runtime`: make `parity-util-mem` dependency optional (#12657) · da46ab18
      Andrew Jones authored
      * `sp-runtime`: make `parity-util-mem` dependency optional
      
      * Use default-features = false for sp-runtime in sp-keyring
      
      * Remove parity-util-mem from sp-core
      
      * Cargo.lock
      
      * Restore default-features for keyring dependency
      da46ab18
    • dependabot[bot]'s avatar
      Bump ss58-registry from 1.29.0 to 1.34.0 (#12659) · fa33efed
      dependabot[bot] authored
      
      
      Bumps [ss58-registry](https://github.com/paritytech/ss58-registry) from 1.29.0 to 1.34.0.
      - [Release notes](https://github.com/paritytech/ss58-registry/releases)
      - [Changelog](https://github.com/paritytech/ss58-registry/blob/main/CHANGELOG.md)
      - [Commits](https://github.com/paritytech/ss58-registry/compare/v1.29.0...v1.34.0)
      
      ---
      updated-dependencies:
      - dependency-name: ss58-registry
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      fa33efed
    • Robert Hambrock's avatar
      Consolidate and deduplicate MMR API methods (#12530) · 53f97350
      Robert Hambrock authored
      
      
      * histor. batch proof: make best block arg optional
      
      * correct testing range
      
      * make generate_batch_proof stub for historical
      
      * merge generate_{historical_}batch_proof functions
      
      * merge generate_{batch_}proof functions
      
      * merge verify_{batch_}proof functions
      
      * merge verify_{batch_}proof_stateless functions
      
      * remove {Leaf}Proof
      
      Not utilized by API anymore, so superfluous.
      Removal consistent with prior changes to just use "batch" proof API.
      
      * rename BatchProof->Proof
      
      no need to qualify if only one universal proof type.
      
      * cleanup
      
      * expose verify_proof rpc api
      
      * document verify_proof
      
      * expose verify_proof_stateless rpc api
      
      * add optional BlockHash to mmr_root rpc api
      
      * fixup! expose verify_proof rpc api
      
      * fix documentation phrasing
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      
      * documentation grammar
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      
      * define mmr error msgs together with error enum
      
      Co-authored-by: default avatarSerban Iorga <[email protected]>
      
      * fixup! define mmr error msgs together with error enum
      
      * map decoding errors to CallError::InvalidParams
      
      Co-authored-by: default avatarSerban Iorga <[email protected]>
      
      * fixup! map decoding errors to CallError::InvalidParams
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarSerban Iorga <[email protected]>
      53f97350
    • Qinxuan Chen's avatar
      Update some dependencies to prune duplicated crates with different version (#12560) · ad6630ed
      Qinxuan Chen authored
      
      
      * sc-client-babe/sp-arithmetic-fuzzer: update num-bigint and num-rational to v0.4
      
      * update lru 0.7.5 ==> v0.8.1
      
      * pallet-example-offchain-worker: update lite-json v0.1.3 ==> v0.2.0
      
      * update hyper 0.14.16 ==> 0.14.20, num-fromat 0.4.0 ==> 0.4.3
      
      * pallet-mmr: update ckb-merkle-mountain-range v0.3.2 ==> v0.5.2
      
      * update handlebars v4.2.2 ==> v4.3.5
      
      * `runtime_cache_size` must always be at least 1
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * default cache size with .min(1)
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * update hyper 0.14.20 ==> 0.14.22
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * update lru 0.8.0 ==> 0.8.1
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      * Fix Cargo.lock
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      ad6630ed
    • Ankan's avatar
      Bound Election and Staking by MaxActiveValidators (#12436) · 657d9920
      Ankan authored
      
      
      * bounding election provider with kian
      
      * multi phase implement bounded election provider
      
      * election provider blanket implementation
      
      * staking compiles
      
      * fix test for election provider support
      
      * fmt
      
      * fixing epmp tests, does not compile yet
      
      * fix epmp tests
      
      * fix staking tests
      
      * fmt
      
      * fix runtime tests
      
      * fmt
      
      * remove outdated wip tags
      
      * add enum error
      
      * sort and truncate supports
      
      * comment
      
      * error when unsupported number of election winners
      
      * compiling wip after kian's suggestions
      
      * fix TODOs
      
      * remove,fix tags
      
      * ensure validator count does not exceed maxwinners
      
      * clean up
      
      * some more clean up and todos
      
      * handle too many winners
      
      * rename parameter for mock
      
      * todo
      
      * add sort and truncate rule if there are too many winners
      
      * fmt
      
      * fail, not swallow emergency result bound not met
      
      * remove too many winners resolution as it can be guaranteed to be bounded
      
      * fix benchmark
      
      * give MaxWinners more contextual name
      
      * make ready solution generic over T
      
      * kian feedback
      
      * fix stuff
      
      * Kian's way of solvign this
      
      * comment fix
      
      * fix compile
      
      * remove use of BoundedExecution
      
      * fmt
      
      * comment out failing integrity test
      
      * cap validator count increment to max winners
      
      * dont panic
      
      * add test for bad data provider
      
      * Update frame/staking/src/pallet/impls.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * fix namespace conflict and add test for onchain max winners less than desired targets
      
      * defensive unwrap
      
      * early convert to bounded vec
      
      * fix syntax
      
      * fmt
      
      * fix doc
      
      * fix rustdoc
      
      * fmt
      
      * fix maxwinner count for benchmarking
      
      * add instant election for noelection
      
      * fmt
      
      * fix compile
      
      * pr feedbacks
      
      * always error at validator count exceeding max winners
      
      * add useful error message
      
      * pr comments
      
      * import fix
      
      * add checked_desired_targets
      
      * fmt
      
      * fmt
      
      * fix rust doc
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      657d9920
  24. Nov 08, 2022
    • cheme's avatar
      Remove partial key size limit from trie codec (#12566) · 8b2ca711
      cheme authored
      * remove size limit from trie codec
      
      * test previous upper limit is not enforced anymore
      
      * fmt
      
      * restore test
      8b2ca711
    • Bastian Köcher's avatar
      `payment_queryInfo`: Make it work with `WeightV2` (#12633) · ec6a428a
      Bastian Köcher authored
      * `payment_queryInfo`: Make it work with `WeighV2`
      
      The runtime api for querying the payment info depends on the `Weight` type and broke for old
      runtimes that still use the `WeighV1`. This pull requests fixes this by:
      
      1. Bumping the version of the runtime api.
      2. Making the node side code use the correct runtime api function depending on the version of the
      runtime api.
      3. Make the RPC always return `WeighV1`.
      
      Users of the api should switch to `state_call` and decide based on the version of the runtime api
      which `Weight` type is being returned.
      
      * Fix tests
      
      * Review comment
      ec6a428a
    • Bastian Köcher's avatar
      `sp_trie::Recorder`: Fix recording the same key for different tries (#12636) · 8fcc6f2e
      Bastian Köcher authored
      With `StateVersion::V1` values over a certain size are not inlined and being put into the backend
      with their own hash. When accessing a value in the trie with a recorder, we check if the value is maybe already
      recorded and thus, we can check the cache. To check if a value is already recorded, we use the key
      of the value to differentiate them. The problem is when there are multiple tries, like multiple
      child tries that all have different values under the same key. Before this pull request we didn't
      have differentiated for which trie we already had recorded a (key, value) pair. This is now done by also taking
      the storage root into account in the recorder to differentiate the different (key, value) pair in
      the tries.
      8fcc6f2e
    • Alexander Samusev's avatar
      Pipeline with ci image with rust 1.65 (#12628) · 698f415b
      Alexander Samusev authored
      * Pipeline with ci image with rust 1.65
      
      * fix tests
      
      * use image with sha
      698f415b
  25. Nov 07, 2022