Skip to content
  1. Mar 23, 2021
  2. Mar 22, 2021
  3. Mar 21, 2021
  4. Mar 20, 2021
    • Kian Paimani's avatar
      Decouple Staking and Election - Part 2.1: Unleash Multi Phase (#8113) · 0c696518
      Kian Paimani authored
      
      
      * Base features and traits.
      
      * pallet and unsigned phase
      
      * Undo bad formattings.
      
      * some formatting cleanup.
      
      * Small self-cleanup.
      
      * Make it all build
      
      * self-review
      
      * Some doc tests.
      
      * Some changes from other PR
      
      * Fix session test
      
      * Update Cargo.lock
      
      * Update frame/election-provider-multi-phase/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Some review comments
      
      * Rename + make encode/decode
      
      * Do an assert as well, just in case.
      
      * Fix build
      
      * Update frame/election-provider-multi-phase/src/unsigned.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Las comment
      
      * fix staking fuzzer.
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Add one last layer of feasibility check as well.
      
      * Last fixes to benchmarks
      
      * Some more docs.
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Some nits
      
      * It all works
      
      * Some self cleanup
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * remove most todos.
      
      * Round of self-review.
      
      * Fix migration
      
      * clean macro
      
      * Revert wrong merge
      
      * remove fuzzer stuff.
      
      * Self review
      
      * Update frame/staking/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * review comments
      
      * add logs
      
      * Add tests to demonstrate the capacity of the snapshot.
      
      * Replace upgrade
      
      * Last touches
      
      * Fix benchmakrs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove unused stuff
      
      * Fix tests.
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      0c696518
  5. Mar 19, 2021
  6. Mar 18, 2021
  7. Mar 17, 2021
    • Bastian Köcher's avatar
      Aura and Slots refactoring (#8386) · 15e15e7d
      Bastian Köcher authored
      * Make slot duration being exposed as `Duration` to the outside
      
      * Some slot info love
      
      * Add `build_aura_worker` utility function
      
      * Copy copy copy
      15e15e7d
    • Jon Häggblad's avatar
      Storing multiple Justifications per block (#7640) · 0d6884b9
      Jon Häggblad authored
      
      
      * primitives/runtime: initial changes on supporting multiple Justifications
      
      * primitives/runtime: make Justifications strongly typed
      
      * Encode/decode Justifications
      
      * primitives/runtime: add Justification type
      
      * backend: apply_finality and finalize_block takes a single Justification
      
      * manual-seal: create engine id and let rpc take encoded justification
      
      * backend: skeleton functions for appending justifications
      
      * backend: initial implementation append_justification
      
      Initial implementation of append_justification on the Backend trait, and also remove unused skeleton
      functions for append_justificaton on Finaziler trait.
      k
      
      * backend: guard against duplicate consensus engine id
      
      * client/db: add check for block finality
      
      * client/api: add append_justification to in_mem db
      
      * client/light: add no-op append_justification
      
      * network: fix decode call for Justification
      
      * network: only send a single Justification in BlockData
      
      * network: minor comment update
      
      * protocol: update field names to distinguish single justification
      
      * client: further field renames to plural
      
      * client: update function names to plural justifications
      
      * client/db: upgrade existing database for new format
      
      * network: remove dependency on grandpa crate
      
      * db: fix check for finalized block
      
      * grandpa: check for multiple grandpa justifications hwne importing
      
      * backend: update Finalizer trait to take multiple Justifications
      
      * db: remove debugging statements in migration code
      
      * manual-seal: update note about engine id
      
      * db: fix check for finalized block
      
      * client: update variable name to reflect it is now plural
      
      * grandpa: fix incorrect empty Justications in test
      
      * primitives: make Justifications opaque to avoid being empty
      
      * network: fix detecting empty Justification
      
      * runtime: doc strings for Justifications functions
      
      * runtime: add into_justifications
      
      * primitives: check for duplicates in when adding to Justifications
      
      * network/test: use real grandpa engine id in test
      
      * client: fix reviewer comments
      
      * primitives: rename Justifications::push to append
      
      * backend: revert changes to Finalizer trait
      
      * backend: revert mark_finalized
      
      * backend: revert changes to finalize_block
      
      * backend: revert finalized_blocks
      
      * db: add a quick early return for performance
      
      * client: minor reviewer comments
      
      * service/test: use local ConsensusEngineId
      
      * network: add link to issue for sending multiple Justifications
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * network: tweaks to review suggestions
      
      * network: revert change to BlockData for backwards compatibility
      
      * Apply suggestion from code review
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * primitives: update doc comment for Justifications
      
      * client/db/upgrade: avoid grandpa crate dependency
      
      * consensus: revert to single Justification for import_justification
      
      * primitives: improve justifications docs
      
      * style cleanups
      
      * use and_then
      
      * client: rename JUSTIFICATIONS db column
      
      * network: revert to using FRNK in network-test
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      0d6884b9
    • Shaun Wang's avatar
      Migrate pallet-babe to pallet attribute macro. (#8310) · c7d32ba9
      Shaun Wang authored
      
      
      * Migrate pallet-babe to pallet attribute macro.
      
      * Remove unnecessary bound in pallet storage.
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      c7d32ba9
    • Martin Pugh's avatar
      add D1-trivial label (#8388) · da6bf01a
      Martin Pugh authored
      da6bf01a
    • Martin Pugh's avatar
      fix check-labels.yml (#8387) · bb2da340
      Martin Pugh authored
      bb2da340
    • kaichao's avatar
      1d206f65
    • Zeke Mostov's avatar
      Migrate pallet-proxy to pallet attribute macro (#8365) · 62abc784
      Zeke Mostov authored
      * Migrate pallet-proxy to pallet attribute macro
      
      Part of #7882.
      
      Converts the `Proxy` pallet to the new pallet attribute macro introduced in #6877.
      
      [Upgrade guidelines used](https://substrate.dev/rustdocs/v3.0.0/frame_support/attr.pallet.html#upgrade-guidelines).
      
      ## ️ Breaking Change  ️ 
      
      From [checking upgrade guidelines](https://crates.parity.io/frame_support/attr.pallet.html#checking-upgrade-guidelines)
      
      > storages now use PalletInfo for module_prefix instead of the one given to `decl_storage`: use of this pallet in `construct_runtime!` needs careful updating of the name in order to not break storage or to upgrade storage (moreover for instantiable pallet). If pallet is published, make sure to warn about this breaking change.
      
      So users of the `Assets` pallet must be careful about the name they used in `construct_runtime!`. Hence the `runtime-migration` label, which might not be needed depending on the configuration of the `Assets` pallet.
      
      ### Notes
      
      There are some changes to the docs in metadata for the constants. The docs in the metadata for constants are now more complete.
      62abc784
    • Peter Goodspeed-Niklaus's avatar
      Improve complexity of CompactAssignments::unique_targets (#8314) · 23b32e75
      Peter Goodspeed-Niklaus authored
      * Improve complexity of CompactAssignments::unique_targets
      
      Original implementation was O(n**2). Current impl is O(n log n).
      
      Avoided the original proposed mitigation because it does not retain
      the de-duplicating property present in the original implementation.
      This implementation does a little more work, but retains that property.
      
      * Explicitly choose sp_std Vec and BTreeSet
      
      Ensures that the macro still works if someone uses it in a context
      in which sp_std is not imported or is renamed.
      
      * explicitly use sp_std vectors throughout compact macro
      23b32e75
  8. Mar 16, 2021
    • Denis_P's avatar
      CI: run cargo deny nightly (#8376) · 2586d557
      Denis_P authored
      
      
      * CI: run cargo deny only nightly before it's fixed
      
      * Release missing 3.0 crates: pallet-node-authorization sc-finality-grandpa-warp-sync (#8360)
      
      * bump pallet-node-authorization
      
      * prepping sc-finality-grandpa-warp-sync for release
      
      * bump Cargo.lock
      
      * Update ss58-registry.json (#8351)
      
      Added Plasm Network description
      
      * [CI] Require D*-audit labels for any runtime changes (#8345)
      
      * add check for audit labels if runtime change
      
      * fix shellcheck nits
      
      * include lib.sh in check_runtime.sh
      
      * fix check_labels.sh
      
      * fix check_labels.sh
      
      * oops, this is github actions...
      
      * why wont this work
      
      * fetch all refs
      
      * Update check-labels.yml
      
      * print env - wtf is happening
      
      * checkout the PR...
      
      * ffs
      
      * fix
      
      * REVERT ME: test runtime check
      
      * Revert "REVERT ME: test runtime check"
      
      This reverts commit 0fd2b04abeeac12dd8ede4c0708cb796f9e3e722.
      
      * Fix CI benchmark check (#8380)
      
      * CI: run cargo deny only nightly before it's fixed
      
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarAleksandr Krupenkin <[email protected]>
      Co-authored-by: default avatarMartin Pugh <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      2586d557
    • Bastian Köcher's avatar
      Fix CI benchmark check (#8380) · 413acc5d
      Bastian Köcher authored
      413acc5d
    • Martin Pugh's avatar
      [CI] Require D*-audit labels for any runtime changes (#8345) · d6bc59df
      Martin Pugh authored
      * add check for audit labels if runtime change
      
      * fix shellcheck nits
      
      * include lib.sh in check_runtime.sh
      
      * fix check_labels.sh
      
      * fix check_labels.sh
      
      * oops, this is github actions...
      
      * why wont this work
      
      * fetch all refs
      
      * Update check-labels.yml
      
      * print env - wtf is happening
      
      * checkout the PR...
      
      * ffs
      
      * fix
      
      * REVERT ME: test runtime check
      
      * Revert "REVERT ME: test runtime check"
      
      This reverts commit 0fd2b04abeeac12dd8ede4c0708cb796f9e3e722.
      d6bc59df
    • Aleksandr Krupenkin's avatar
      Update ss58-registry.json (#8351) · 4042dd67
      Aleksandr Krupenkin authored
      Added Plasm Network description
      4042dd67
    • Benjamin Kampmann's avatar
      Release missing 3.0 crates: pallet-node-authorization sc-finality-grandpa-warp-sync (#8360) · e64e4b24
      Benjamin Kampmann authored
      * bump pallet-node-authorization
      
      * prepping sc-finality-grandpa-warp-sync for release
      
      * bump Cargo.lock
      e64e4b24
    • Bastian Köcher's avatar
      Update diener to enable polkadot companions that use new crates (#8371) · 2cc9329b
      Bastian Köcher authored
      
      
      * Update diener to enable polkadot companions that use new crates
      
      Diener will be updated in the CI image to make it possible to have
      companions that add new crates from Substrate.
      
      Besides that the wasm-bindgen is updated, because `0.2.70` is not
      available anymore on crates.io.
      
      * update lock
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      2cc9329b
    • Gavin Wood's avatar
      Document a pub item (#8374) · cf108722
      Gavin Wood authored
      cf108722
    • gabriel klawitter's avatar
    • Gavin Wood's avatar
      staking: Flexible generation of reward curve and associated tweaks (#8327) · 363db4f0
      Gavin Wood authored
      
      
      * Initial abstraction
      
      * Alter rest of APIs
      
      * Fixes
      
      * Some extra getters in Gilt pallet.
      
      * Refactor Gilt to avoid u128 conversions
      
      * Simplify and improve pow in per_things
      
      * Add scalar division to per_things
      
      * Renaming from_fraction -> from_float, drop _approximation
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Make stuff build
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Update .gitignore
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/gilt/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/gilt/src/mock.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      363db4f0
    • Kian Paimani's avatar
      Audit fixes for election/staking decoupling part 2 (#8167) · b6c62639
      Kian Paimani authored
      
      
      * Base features and traits.
      
      * pallet and unsigned phase
      
      * Undo bad formattings.
      
      * some formatting cleanup.
      
      * Small self-cleanup.
      
      * Make it all build
      
      * self-review
      
      * Some doc tests.
      
      * Some changes from other PR
      
      * Fix session test
      
      * Update Cargo.lock
      
      * Update frame/election-provider-multi-phase/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Some review comments
      
      * Rename + make encode/decode
      
      * Do an assert as well, just in case.
      
      * Fix build
      
      * Update frame/election-provider-multi-phase/src/unsigned.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Las comment
      
      * fix staking fuzzer.
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Add one last layer of feasibility check as well.
      
      * Last fixes to benchmarks
      
      * Some more docs.
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Some nits
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Fix doc
      
      * Mkae ci green
      
      * Audit fixes for election-provider: part 2 signed phase.
      
      * Fix weight
      
      * Some grumbles.
      
      * Try and weigh to get_npos_voters
      
      * Fix build
      
      * Fix line width
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Fix tests.
      
      * Fix build
      
      * Reorg some stuff
      
      * More reorg.
      
      * Reorg done.
      
      * Fix build
      
      * Another rename
      
      * Fix build
      
      * Update frame/election-provider-multi-phase/src/mock.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * nit
      
      * better doc
      
      * Line width
      
      * Fix build
      
      * Self-review
      
      * Self-review
      
      * Fix wan
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix build and review comments.
      
      * Update frame/election-provider-multi-phase/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * add comment
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      b6c62639
    • Peter Goodspeed-Niklaus's avatar
      NPoS Challenge Mode (#8236) · 49be0579
      Peter Goodspeed-Niklaus authored
      
      
      * Add PJR challenge functions
      
      - Updates the PJR check to return a counterexample if one exists
      - Adds functions to cheaply check counterexamples
      
      This is in support of off-chain PJR challenges: if a miner discovers
      that an accepted election solution does not satisfy PJR, it will be
      eligible for substantial rewards. This helps ensure that validator
      elections have an absolute quality floor, so even if someone manages
      to censor well-behaved solutions to give themselves unfair representation,
      we can catch them in the act and penalize them.
      
      * counterexample -> counter_example
      
      * reorganize: high -> low abstraction
      
      * reorganize challenges high -> low abstraction
      
      * add note justifying linear search
      
      * Simplify max_pre_score validation
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * add minor test of pjr challenge validation
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      49be0579