Skip to content
  1. Oct 27, 2020
    • Shawn Tabrizi's avatar
      New Weight Template + Organization (#7391) · e4cfb255
      Shawn Tabrizi authored
      
      
      * add_handlebar_template_to_benchmark
      
      - add benchmark-cli arg to take in a handlebar-template file
      
      * update to always use template
      
      * rewrite writer for handlebars
      
      * polish
      
      * pass cmd data
      
      * update docs
      
      * new weight layout
      
      * separate templates
      
      * support custom filename output
      
      * Update command.rs
      
      * Create frame-weight-template.hbs
      
      * use a vector to maintain benchmark order
      
      * bring back ()
      
      * fix tests
      
      * fix build
      
      * Custom string serializer, remove feature flag
      
      * temp
      
      * rename
      
      * nit
      
      * update docs
      
      * docs on public objects
      
      * small fix
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove long line
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/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=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for system
      
      * 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
      
      * update for staking
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_identity --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/identity/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for identity and staking
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_collective --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/collective/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for collective
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for democracy
      
      * clean up zeros
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for elections phragmen
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_im_online --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/im-online/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for im online
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_indices --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/indices/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for indices
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_multisig --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/multisig/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for multisig
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_proxy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/proxy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for proxy
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_scheduler --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/scheduler/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for scheduler
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_session --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/session/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for session
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for timestamp
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for treasury
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for utility
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_vesting --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/vesting/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for vesting
      
      * temp update
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarEzadkiel Marbella <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      e4cfb255
  2. Sep 22, 2020
  3. Sep 21, 2020
  4. Sep 11, 2020
  5. Jul 20, 2020
  6. Jul 17, 2020
  7. Jul 08, 2020
    • Shawn Tabrizi's avatar
      Add `WeightInfo` to all pallets with benchmarks. (#6575) · 2302898b
      Shawn Tabrizi authored
      * Start adding weight info
      
      * More weightinfo
      
      * finish weight info
      
      * more fixes
      
      * inital update of node runtime
      
      * fix the rest of the compilation
      
      * update balances
      
      * add docs
      
      * fix balances tests
      
      * Fix more tests
      
      * Fix compile
      
      * Fix pallet-evm tests
      2302898b
  8. Jul 07, 2020
  9. Jun 16, 2020
    • Bernhard Schuster's avatar
      historical slashing w ocw w adhoc tree creation (#6220) · 3f30f69b
      Bernhard Schuster authored
      
      
      * draft
      
      * steps
      
      * chore: fmt
      
      * step by step
      
      * more details
      
      * make test public
      
      * refactor: split into on and offchain
      
      * test stab
      
      * tabs my friend
      
      * offchain overlay: split key into prefix and true key
      
      Simplifies inspection and makes key actually unique.
      
      * test: share state
      
      * fix & test
      
      * docs improv
      
      * address review comments
      
      * cleanup test chore
      
      * refactor, abbrev link text
      
      * chore: linewidth
      
      * fix prefix key split fallout
      
      * minor fallout
      
      * minor changes
      
      * addresses review comments
      
      * rename historical.rs -> historical/mod.rs
      
      * avoid shared::* wildcard import
      
      * fix: add missing call to store_session_validator_set_to_offchain
      
      * fix/compile: missing shared:: prefix
      
      * fix/test: flow
      
      * fix/review: Apply suggestions from code review
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      
      * fix/review: more review comment fixes
      
      * fix/review: make ValidatorSet private
      
      * fix/include: core -> sp_core
      
      * fix/review: fallout
      
      * fix/visbility: make them public API
      
      Ref #6358
      
      * fix/review: review changes fallout - again
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      3f30f69b
  10. Jun 15, 2020
    • thiolliere's avatar
      Introduce in-origin filtering (#6318) · c2ad2727
      thiolliere authored
      
      
      * impl filter in origin
      
      * remove IsCallable usage. Breaking: utility::batch(root, calls) no longer bypass BasicCallFilter
      
      * rename BasicCallFilter -> BaseCallFilter
      
      * refactor code
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * remove forgotten temporar comment
      
      * better add suggestion in another PR
      
      * refactor: use Clone instead of mem::replace
      
      * fix tests
      
      * fix tests
      
      * fix tests
      
      * fix benchmarks
      
      * Make root bypass filter in utility::batch
      
      * fix unused imports
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      c2ad2727
  11. Jun 01, 2020
  12. May 20, 2020
    • Tomasz Drwięga's avatar
      Maximum extrinsic weight limit (#6067) · f74a7171
      Tomasz Drwięga authored
      * Only check single extrinsics weight limit in validate_transaction.
      
      * Add missing parameter to all pallets.
      
      * Add tests, fix default configuration.
      
      * Bump spec version.
      
      * Use AvailableBlockRation to calculate MaxExtrinsicWeight
      f74a7171
  13. May 15, 2020
  14. May 06, 2020
    • André Silva's avatar
      grandpa: report equivocations (#3868) · fbd2ac8f
      André Silva authored
      * session: runtime api for generating session membership proofs
      
      * grandpa: add runtime api for creating equivocation report txs
      
      * grandpa: submit signed equivocation report transactions
      
      * grandpa: use proper equivocation report type
      
      * grandpa: report equivocations
      
      * grandpa: validate equivocation proof
      
      * grandpa: update to finality-grandpa 0.9.1
      
      * grandpa: fix encoding of session membership proof
      
      * grandpa: initialize set id session mapping for genesis session
      
      * grandpa: fix bug in set_id session validation
      
      * fix compilation
      
      * cleanup from merge conflicts
      
      * cleanup crate tomls
      
      * grandpa: refactor equivocation handling to separate trait
      
      * node-template: fix compilation
      
      * fix test compilation
      
      * bump finality-grandpa to v0.10.2
      
      * rpc: fix runtime version test
      
      * CHERRY-PICK #4200: Add documentation to SubmitSignedTransaction and actually make it work
      
      Squashed commit of the following:
      
      commit 4f2cb0b1c588a06f2f3b478bb4b28b5cb29d54b9
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 16:29:33 2019 +0100
      
          Split the method to avoid confusing type error message.
      
      commit c5bf24eeaaf902add89ed1b046b22c4a4aaeb2cd
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 16:19:55 2019 +0100
      
          Make accounts optional, fix logic.
      
      commit 97db1ef556e023cf6847e5ffdb036c0e3ea6fb0a
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 10:06:20 2019 +0100
      
          Remove warning.
      
      commit 535f5c116d1a2e826eaf90c3f7e6798e443d61d8
      Merge: 516257217 0f1a5f65
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 07:08:05 2019 +0100
      
          Merge branch 'master' into td-signed-transactions
      
      commit 516257217bac89fcebd083712f4ea68b7b23b55a
      Merge: ac98248c6 2e68c80c
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Dec 2 13:57:25 2019 +0100
      
          Merge branch 'master' into td-signed-transactions
      
      commit ac98248c6c56cff381130645a82a13d29933cf83
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:34:52 2019 +0100
      
          Forgotten import.
      
      commit 67a3c19031506c28e31c6bc4a90fff62d467dd58
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:32:10 2019 +0100
      
          Fix naming and bounds.
      
      commit 93e768ea9df97a4629fca1f9bc4b108fdb33f876
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:01:05 2019 +0100
      
          Add documentation to signed transactions and actually make them work.
      
      * grandpa: skip block initialization on report submission method
      
      * primitives: allow transaction pool access by default for offchain calls
      
      * grandpa: unused parameters
      
      * grandpa: remove unused method
      
      * grandpa: enable equivocation reporting
      
      * grandpa: add workaround for parameter encoding
      
      * grandpa: fix localized_payload calls in tests
      
      * fix submit_report_equivocation_extrinsic in runtimes
      
      * node: fix submit transaction test compilation
      
      * node: bump spec_version
      
      * rpc: fix api version test
      
      * grandpa: allow custom equivocation offence type
      
      * grandpa: add test for authorities::next_change_height
      
      * grandpa: cleanup report_equivocation function
      
      * node: move reporting app crypto to node-primitives
      
      * grandpa: move equivocation traits to own module
      
      * grandpa: rename app-crypto crate import
      
      * grandpa: export equivocation types
      
      * node: bump spec_version
      
      * grandpa: rename EquivocationReport to EquivocationProof
      
      * grandpa: add missing docs to primitives
      
      * grandpa: add missing docs to equivocation
      
      * node: fix compilation
      
      * grandpa: add missing docs to pallet
      
      * node: bump spec_version
      
      * fix whitespace
      
      * grandpa: return error on offence reporting
      
      * grandpa: expose session and validator count in proofs through traits
      
      * grandpa: use strong key in module KeyOwnerProofSystem
      
      * grandpa: move key ownership proof to grandpa runtime api
      
      * grandpa: remove unnecessary cloning when checking equivocation proof
      
      * grandpa: make report_equivocation a method in Environment
      
      * support: implement KeyOwnerProofSystem for ()
      
      * grandpa: move KeyOwnerProofSystem to module trait
      
      * test-utils: fix runtime compilation
      
      * grandpa: fix test compilation
      
      * grandpa: fix test compilation after merge
      
      * grandpa: simplify transaction submission types
      
      * grandpa: validate equivocation report in signed extension
      
      * client: fix test
      
      * node: use ValidateEquivocationReport signed extension
      
      * grandpa: expose key ownership proof under opaque type
      
      * grandpa: better docs on key ownership proofs
      
      * grandpa: add note about signed extension
      
      * grandpa: add ValidateEquivocationReport::new
      
      * grandpa: remove skip_initialize_block from runtime api
      
      * grandpa: use new offchain transaction submission API
      
      * grandpa: take set_id in generate_key_ownership_proof
      
      * grandpa: update to finality-grandpa v0.12.2
      
      * grandpa: cleanup usages of AuthoritySet::current
      
      * grandpa: fix test
      
      * grandpa: add mocking utilities for equivocation reporting
      
      * grandpa: add test for equivocation reporting
      
      * grandpa: move SetIdSession initialization
      
      * grandpa: add more tests
      
      * node: enable historical session manager
      
      * node: bump spec_version
      
      * node: use strong key types in KeyOwnerProofSystem definitions
      
      * grandpa: export GrandpaEquivocationOffence type
      fbd2ac8f
  15. Apr 25, 2020
    • Shawn Tabrizi's avatar
      Introduce `BlockExecutionWeight` and `ExtrinsicBaseWeight` (#5722) · 8a33c297
      Shawn Tabrizi authored
      
      
      * Introduce `BlockExectionWeight` and `ExtrinsicBaseWeight`
      
      * Add new traits everywhere
      
      * Missed one update
      
      * fix tests
      
      * Update `check_weight` logic
      
      * introduce `max_extrinsic_weight` function
      
      * fix + add tests
      
      * format nits
      
      * remove println
      
      * make test a bit more clear
      
      * Remove minimum weight
      
      * newlines left over from find/replace
      
      * Fix test, improve clarity
      
      * Fix executor tests
      
      * Extrinsic base weight same as old `MINIMUM_WEIGHT`
      
      * fix example test
      
      * Expose constants
      
      * Add test for full block with operational and normal
      
      * Initiate test environment with `BlockExecutionWeight` weight
      
      * format nit
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Replace `TransactionBaseFee` with `ExtrinsicBaseWeight` (#5761)
      
      * Replace `TransactionBaseFee` with `ExtrinsicBaseFee`
      
      * Fix stuff
      
      * Fix and make tests better
      
      * Forgot to update this test
      
      * Fix priority number in test
      
      * Remove minimum weight from merge
      
      * Fix weight in contracts
      
      * remove `TransactionBaseFee` from contract tests
      
      * Let `register_extra_weight_unchecked` go past `MaximumBlockWeight`
      
      * address feedback
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      8a33c297
  16. Apr 24, 2020
  17. Apr 22, 2020
  18. Apr 16, 2020
  19. Apr 07, 2020
    • Shawn Tabrizi's avatar
      Generate Unit Tests for Benchmarks (#5527) · d3cc0514
      Shawn Tabrizi authored
      * Update to latest staking
      
      * generate tests for benchmarking
      
      * add tests, fix warnings
      
      * starting on democracy
      
      * impl_benchmark_tests
      
      * Way more readable
      
      * add test feature flag (does this work?)
      
      * Fix `successful_origin` impl
      
      * democracry benchmark tests
      
      * Fix example benchmarks, add tests
      
      * identity benchmark tests
      
      * Update im-online benchmark tests
      
      * try to add session benchmarking tests (problem with mock)
      
      * staking and timestamp
      
      * add test for treasury, issue with dynamic contains
      
      * utility
      
      * Vesting
      
      * test instead of check
      
      * hide until we figure out what is wrong
      
      * add docs
      
      * close code
      
      * Create custom mock for session-pallet-benchmarking
      
      * Use refcell pattern
      
      * make un-pub
      
      * test-linux-stable includes `runtime-benchmarks` feature
      
      * Revert "test-linux-stable includes `runtime-benchmarks` feature"
      
      This reverts commit a2dab38abd18ac3eb8a6220e4a00e687740bd38c.
      
      * run tests in `--release`
      
      * undo balance change
      
      * build wasm
      d3cc0514
  20. Mar 26, 2020
    • Kian Paimani's avatar
      Offchain Phragmén BREAKING. (#4517) · 970c5f94
      Kian Paimani authored
      * Initial skeleton for offchain phragmen
      
      * Basic compact encoding decoding for results
      
      * add compact files
      
      * Bring back Self::ensure_storage_upgraded();
      
      * Make staking use compact stuff.
      
      * First seemingly working version of reduce, full of todos
      
      * Everything phragmen related works again.
      
      * Signing made easier, still issues.
      
      * Signing from offchain compile fine 😎
      
      * make compact work with staked asssignment
      
      * Evaluation basics are in place.
      
      * Move reduce into crate. Document stuff
      
      * move reduce into no_std
      
      * Add files
      
      * Remove other std deps. Runtime compiles
      
      * Seemingly it is al stable; cycle implemented but not integrated.
      
      * Add fuzzing code.
      
      * Cleanup reduce a bit more.
      
      * a metric ton of tests for staking; wip 🔨
      
      * Implement a lot more of the tests.
      
      * wip getting the unsigned stuff to work
      
      * A bit gleanup for unsigned debug
      
      * Clean and finalize compact code.
      
      * Document reduce.
      
      * Still problems with signing
      
      * We officaly duct taped the transaction submission stuff. 🤓
      
      * Deadlock with keys again
      
      * Runtime builds
      
      * Unsigned test works 🙌
      
      * Some cleanups
      
      * Make all the tests compile and stuff
      
      * Minor cleanup
      
      * fix more merge stuff
      
      * Most tests work again.
      
      * a very nasty bug in reduce
      
      * Fix all integrations
      
      * Fix more todos
      
      * Revamp everything and everything
      
      * Remove bogus test
      
      * Some review grumbles.
      
      * Some fixes
      
      * Fix doc test
      
      * loop for submission
      
      * Fix cli, keyring etc.
      
      * some cleanup
      
      * Fix staking tests again
      
      * fix per-things; bring patches from benchmarking
      
      * better score prediction
      
      * Add fuzzer, more patches.
      
      * Some fixes
      
      * More docs
      
      * Remove unused generics
      
      * Remove max-nominator footgun
      
      * Better fuzzer
      
      * Disable it 
      
      
      
      * Bump.
      
      * Another round of self-review
      
      * Refactor a lot
      
      * More major fixes in perThing
      
      * Add new fuzz file
      
      * Update lock
      
      * fix fuzzing code.
      
      * Fix nominator retain test
      
      * Add slashing check
      
      * Update frame/staking/src/tests.rs
      
      Co-Authored-By: default avatarJoshy Orndorff <[email protected]>
      
      * Some formatting nits
      
      * Review comments.
      
      * Fix cargo file
      
      * Almost all tests work again
      
      * Update frame/staking/src/tests.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Fix review comments
      
      * More review stuff
      
      * Some nits
      
      * Fix new staking / session / babe relation
      
      * Update primitives/phragmen/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Update primitives/phragmen/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Update primitives/phragmen/compact/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Some doc updates to slashing
      
      * Fix derive
      
      * Remove imports
      
      * Remove unimplemented tests
      
      * nits
      
      * Remove dbg
      
      * Better fuzzing params
      
      * Remove unused pref map
      
      * Deferred Slashing/Offence for offchain Phragmen  (#5151)
      
      * Some boilerplate
      
      * Add test
      
      * One more test
      
      * Review comments
      
      * Fix build
      
      * review comments
      
      * fix more
      
      * fix build
      
      * Some cleanups and self-reviews
      
      * More minor self reviews
      
      * Final nits
      
      * Some merge fixes.
      
      * opt comment
      
      * Fix build
      
      * Fix build again.
      
      * Update frame/staking/fuzz/fuzz_targets/submit_solution.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update frame/staking/src/slashing.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Update frame/staking/src/offchain_election.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      * Fix review comments
      
      * fix test
      
      * === 🔑
      
       Revamp without staking key.
      
      * final round of changes.
      
      * Fix cargo-deny
      
      * Update frame/staking/src/lib.rs
      
      Co-Authored-By: default avatarGavin Wood <[email protected]>
      
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      970c5f94
  21. Mar 24, 2020
  22. Mar 19, 2020
  23. Mar 17, 2020
    • Shawn Tabrizi's avatar
      Benchmark Staking and Session Pallet (#5183) · 9c06d8c6
      Shawn Tabrizi authored
      
      
      * starting bench
      
      * More
      
      * more
      
      * Payout Validator
      
      * Give each validator exactly n nominators
      
      * Update with test
      
      * Try to add accounts to chain spec
      
      * Undo changes to chainspec
      
      * Payout nominator
      
      * Rebond and Reap Stash
      
      * Set history depth
      
      * fix smelly code
      
      * cancel deferred slash
      
      * new_era bench
      
      * do_slash benchmark
      
      * Add features
      
      * undo extrinsic move
      
      * lower
      
      * Update new era
      
      * Update benchmarking.rs
      
      * whitespace
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * fixes
      
      * nit
      
      * Refactor tests, initial code
      
      * Move session benchmarks to avoid cyclic deps
      
      * Update lib.rs
      
      * Fix warnings
      
      * Move impl
      
      * Update to do random nominator allocation
      
      * add feature to benchmark pallet
      
      * Remove extra stuff
      
      * Update based on feedback
      
      * Less intrusive
      
      * Remove `transfer_idle_users`
      
      * remove again
      
      * unused dep
      
      * test feature flag
      
      * Update to latest substrate
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      9c06d8c6
  24. Mar 16, 2020
    • Gavin Wood's avatar
      Refactor away from opaque hashes (#5226) · af9083f5
      Gavin Wood authored
      
      
      * System.BlockHash
      
      * Fix hash
      
      * Introduce K/V iteration in all _concat maps
      
      Also move across:
      - System.Account (blake2_128_concat)
      - Balances.Locks (twox_64_concat)
      - ElectionsPhragmen.VotesOf (twox_64_concat)
      - ElectionsPhragmen.StakeOf (twox_64_concat)
      - Identity.IdentityOf (twox_64_concat)
      - Identity.SubsOf (twox_64_concat)
      - Society.Payouts (twox_64_concat)
      - Session.NextKeys (twox_64_concat)
      - Identity.SuperOf (blake2_128_concat)
      - Session.KeyOwner (blake2_128_concat)
      - Society.SuspendedCandidates (twox_64_concat)
      - Society.SuspendedMembers (twox_64_concat)
      - Society.Vouching (twox_64_concat)
      - Society.Strikes (twox_64_concat)
      - System.EventTopics
      - Balances.Account
      
      * Build fixes
      
      * Ensure migration happens in correct order
      
      * Staking.*
      
      * Vesting.* Offences.*
      
      * Democracy.*
      
      * Babe.* Collective.*
      
      * Grandpa.*
      
      * Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
      
      Also introduce real account list
      
      * ImOnline.*
      
      * Treasury.*
      
      * Recovery.*
      
      * Final bits.
      
      * Docs
      
      * Fix one test
      
      * Fix test
      
      * All passing except the UI tests
      
      * Remove linked_map part 1
      
      * Remove linked_map
      
      * Some iterator utils for double maps.
      
      * Remove old migrations
      
      * Introduce tombstone for LinkedMap type
      
      * Migration for genesis hash
      
      * Fix build
      
      * Fix hash
      
      * Rename Map is_linked -> unused, keeping backwards compat (#5256)
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/elections/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Remove old migration code.
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix hash
      
      * fix session migration
      
      * Fix watning
      
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      af9083f5
  25. Mar 11, 2020
  26. Mar 06, 2020
    • thiolliere's avatar
      Fix staking bug (#5170) · 71ff24c7
      thiolliere authored
      * fix staking bug
      
      * add some guarantee note in SessionManager while it is not fixed in staking
      
      * bumpd impl version
      71ff24c7
  27. Mar 05, 2020
    • Gavin Wood's avatar
      Adds a session getter to historical proofs (#5125) · 91b44299
      Gavin Wood authored
      * Adds a session getter to historical proofs
      
      * Bump spec_version
      
      * Adds some useful trait derives to Proof
      91b44299
    • Benjamin Kampmann's avatar
      Reduce usage of `Blake2Hasher` (#5132) · 5a33228e
      Benjamin Kampmann authored
      This reduces the usage of `Blake2Hasher` in the code base and replaces
      it with `BlakeTwo256`. The most important change is the removal of the
      custom extern function for `Blake2Hasher`. The runtime `Hash` trait is
      now also simplified and directly requires that the implementing type
      implements `Hashable`.
      5a33228e
  28. Mar 03, 2020
    • Gavin Wood's avatar
      Lazy payouts (#4474) · 619f64ef
      Gavin Wood authored
      
      
      * TODOs
      
      * Remove superfluous:
      
      * partial implementation
      
      * full implementation
      
      * fix preferences
      
      * update comments
      
      * upgrade test WIP
      
      * fix more tests
      
      * fix cutoff
      
      * fix saturation
      
      * comment
      
      * upgrade mock
      
      * upgrade test
      
      * WIP migration
      
      * WIP migration
      
      * remove slot stake stuff
      
      * fix merge
      
      * migration of ledger
      
      * remove equalize from test
      
      * add test
      
      * fix
      
      * update doc
      
      * fix compilation
      
      * improve test readibility
      
      * improve doc
      
      * fix most todo
      
      * fix migration and test
      
      * remove println
      
      * WIP
      
      * add test and spec
      
      * weight
      
      * update doc
      
      * safer end_era
      
      * fix exposure of conversion
      
      * Revert "safer end_era"
      
      This reverts commit 72ff737d27be67d87308514b13e2574bc5f09fce.
      
      * fix useless put
      
      * exposure clipped
      
      * doc
      
      * fix payout with clipped
      
      * fix node runtime
      
      * add doc
      
      * pluggable and generalized staking module
      
      * remove print
      
      * update doc
      
      * refactor
      
      * improve documentation and implementation
      
      * fix test
      
      * Fix test
      
      * fix test
      
      * fix test
      
      * fix remove lowest stake from exposure, not biggest.
      
      * nomination index arguments in nominator_payout
      
      * add test
      
      * try to fix offence
      
      * apply slashed and bond eras until active era
      
      * doc
      
      * update spec version
      
      * add test upgrade from previous test environment
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * nominators upgrade has been cleaned
      
      * dynamic history depth implementation
      
      * make current_era - history_depth included
      
      * Change equality check to start era to less than or equal
      
      * Use era specific validator prefs
      
      * Add print statement and comment about start era if <
      
      * fix next_reward overflow
      
      * make more check for bad era claim for zero cost
      
      * small refactor
      
      * code refactor + fix use of deprecated storage
      
      * fix wasm build
      
      * add comment
      
      * Fix tests
      
      * remove outdated comment
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * gather active era information into one storage
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      619f64ef
  29. Feb 24, 2020
  30. Feb 19, 2020
  31. Feb 17, 2020
    • Shawn Tabrizi's avatar
      Fix various spelling errors (#4940) · c7a14db7
      Shawn Tabrizi authored
      
      
      * meaningfull -> meaningful
      
      * initialise -> initialize
      
      * tokans -> tokens
      
      * incentivise -> incentivize
      
      * lenght -> length
      
      * incentivisation -> incentivization
      
      * doesnt't -> doesn't
      
      * overwriten -> overwritten
      
      * lifecycle -> life cycle
      
      * lifecycle -> life cycle
      
      * usefull -> useful
      
      * noone -> no one
      
      * spaming -> spamming
      
      * defered -> deferred
      
      * hieght -> height
      
      * sumation -> summation
      
      * ingore -> ignore
      
      * registed -> registered
      
      * Auxialary -> Auxiliary
      
      * loggin -> logging
      
      * independance -> independence
      
      * trailling -> trailing
      
      * responsability -> responsibility
      
      * trunkated -> truncated
      
      * Weither -> Whether
      
      * informations -> information
      
      * Runtume -> Runtime
      
      * choosen -> chosen
      
      * delcataion -> declaration
      
      * Unchekced -> Unchecked
      
      * defintion -> definition
      
      * scrach -> scratch
      
      * imput -> input
      
      * transfered -> transferred
      
      * endownment -> endowment
      
      * Determinator -> Determiner
      
      * relevent -> relevant
      
      * emited -> emitted
      
      * acocunt -> account
      
      * proprotional -> proportional
      
      * instantiaion -> instantiation
      
      * commited -> committed
      
      * tombstonedead -> tombstone
      
      * uwnrap -> unwrap
      
      * acount -> account
      
      * specialised -> specialized
      
      * existant -> existent
      
      * requried -> required
      
      * Anull -> Annul
      
      * AUTHORITES -> AUTHORITIES
      
      * underyling -> underlying
      
      * recognisable -> recognizable
      
      * Capitalise -> Capitalize
      
      * reportfor -> report for
      
      * hearbeat -> heartbeat
      
      * onlineness -> being online
      
      * creater -> creator
      
      * Bytearray -> Byte array
      
      * Despoit -> Deposit
      
      * substratced -> subtracted
      
      * Curent -> Current
      
      * imbalanes -> imbalances
      
      * countfown -> countdown
      
      * inexisting -> inexistent
      
      * additionaly -> additionally
      
      * substracted -> subtracted
      
      * auxilary -> auxiliary
      
      * parital -> partial
      
      * in't -> isn't
      
      * compatability -> compatibility
      
      * infomation -> information
      
      * etected -> detected
      
      * extrinsiscs -> extrinsics
      
      * reprensentation -> representation
      
      * coonfiguration -> configuration
      
      * primtives -> primitives
      
      * miscelanious -> miscellaneous
      
      * VERISON -> VERSION
      
      * endcoded -> encoded
      
      * Genrates -> Generates
      
      * miliseconds -> milliseconds
      
      * occured -> occurred
      
      * trully -> truely
      
      * truely -> truly
      
      * conjuction -> conjunction
      
      * encouters -> encounters
      
      * customised -> customized
      
      * deterministicly -> deterministically
      
      * finalisation -> finalization
      
      * pluggable -> plugable
      
      * wakeup -> wake-up
      
      * interemdiate -> intermediate
      
      * intepreting -> interpreting
      
      * finalzied -> finalized
      
      * throgh -> through
      
      * extinsic -> extrinsic
      
      * convient -> convenient
      
      * allocater -> allocator
      
      * propagateable -> propagatable
      
      * succesfuly -> successfully
      
      * finalising -> finalizing
      
      * publically -> publicly
      
      * phrasee -> phrase
      
      * substration -> substractions
      
      * substractions -> subtractions
      
      * neccessarily -> necessarily
      
      * Inlucde -> Include
      
      * unefficient -> inefficient
      
      * thay -> they
      
      * funtion -> function
      
      * datastructures -> data structures
      
      * infromation -> information
      
      * propagatable -> propagable
      
      * ecountered -> encountered
      
      * recognise -> recognize
      
      * intergration -> integration
      
      * lastet -> latest
      
      * datatypes -> data types
      
      * datatype -> data type
      
      * Strongarming -> Strong Arming
      
      * avaible -> available
      
      * Commiting -> Committing
      
      * Retreiving -> Retrieving
      
      * shoud -> should
      
      * canonicaliziation -> canonicalization
      
      * comitted -> committed
      
      * clonable -> cloneable
      
      * Uknown -> Unknown
      
      * reponse -> response
      
      * arbitary -> arbitrary
      
      * Capapbilities -> Capabilities
      
      * responsbile -> responsible
      
      * initialisation -> initialization
      
      * cames -> came
      
      * intemediate -> intermediate
      
      * reqeust -> request
      
      * intance -> instance
      
      * explcitly -> explicitly
      
      * neighor -> neighbor
      
      * reolving -> resolving
      
      * untill -> until
      
      * Validte -> Validate
      
      * deserailize -> deserialize
      
      * literaly -> literally
      
      * preceeding -> preceding
      
      * abpve -> above
      
      * chcecked -> checked
      
      * numbet -> number
      
      * Unknow -> Unknown
      
      * halfs -> halves
      
      * gossup -> gossip
      
      * givent -> given
      
      * immediatelly -> immediately
      
      * slicable -> sliceable
      
      * conensus -> consensus
      
      * Mimicks -> Mimics
      
      * acccept -> accept
      
      * serialise -> serialize
      
      * exstrinsics -> extrinsics
      
      * panicks -> panics
      
      * maintaince -> maintenance
      
      * repeatidely -> repeatedly
      
      * anecstor -> ancestor
      
      * becasue -> because
      
      * processer -> processor
      
      * Prunning -> Pruning
      
      * insterested -> interested
      
      * unuseful -> not useful
      
      * yeided -> yielded
      
      * descendfing -> descending
      
      * corresponts -> corresponds
      
      * survivew -> survive
      
      * keps -> keeps
      
      * ligh -> light
      
      * prerequisities -> prerequisites
      
      * positiion -> position
      
      * depedency -> dependency
      
      * extrinisic -> extrinsic
      
      * atomicaly -> atomically
      
      * staticly -> statically
      
      * resul -> result
      
      * timestamb -> timestamp
      
      * Utilites -> Utilities
      
      * ammount -> amount
      
      * pocess -> process
      
      * exteral -> external
      
      * Update client/finality-grandpa/src/tests.rs
      
      * Update primitives/io/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update primitives/blockchain/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/weights.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update bin/node/cli/tests/common.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/cli/src/params.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/executor/common/src/sandbox.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/state-db/src/pruning.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update frame/contracts/src/tests.rs
      
      Co-Authored-By: default avatarjoe petrowski <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      * bump impl
      
      * timestamb -> timestamp
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      c7a14db7
  32. Feb 14, 2020
    • Gavin Wood's avatar
      Composite accounts (#4820) · 5b7512e2
      Gavin Wood authored
      
      
      * Basic account composition.
      
      * Add try_mutate_exists
      
      * De-duplicate
      
      * Refactor away the UpdateBalanceOutcome
      
      * Expunge final UpdateBalanceOutcome refs
      
      * Refactor transfer
      
      * Refactor reservable currency stuff.
      
      * Test with the alternative setup.
      
      * Fixes
      
      * Test with both setups.
      
      * Fixes
      
      * Fix
      
      * Fix macros
      
      * Make indices opt-in
      
      * Remove CreationFee, and make indices opt-in.
      
      * Fix construct_runtime
      
      * Fix last few bits
      
      * Fix tests
      
      * Update trait impls
      
      * Don't hardcode the system event
      
      * Make tests build and fix some stuff.
      
      * Pointlessly bump runtime version
      
      * Fix benchmark
      
      * Another fix
      
      * Whitespace
      
      * Make indices module economically safe
      
      * Migrations for indices.
      
      * Fix
      
      * Whilespace
      
      * Trim defunct migrations
      
      * Remove unused storage item
      
      * More contains_key fixes
      
      * Docs.
      
      * Bump runtime
      
      * Remove unneeded code
      
      * Fix test
      
      * Fix test
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix ED logic
      
      * Repatriate reserved logic
      
      * Typo
      
      * Fix typo
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Last few fixes
      
      * Another fix
      
      * Build fix
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      5b7512e2
  33. Feb 13, 2020
    • Kian Paimani's avatar
      Per-things trait. (#4904) · c871eaac
      Kian Paimani authored
      * Give perthigns the trait it always deserved.
      
      * Make staking and phragmen work with the new generic per_thing
      
      * Make everything work together 🔨
      
      * a bit of cleanup
      
      * Clean usage
      
      * Bump.
      
      * Fix name
      
      * fix grumbles
      
      * hopefully fix the ui test
      
      * Some grumbles
      
      * revamp traits again
      
      * Better naming again.
      c871eaac
  34. Feb 01, 2020
    • Gavin Wood's avatar
      Refactor the balances module (#4649) · d52d8692
      Gavin Wood authored
      
      
      * Initially scoping out of the problem
      
      * Remove need for exiry in balance locks.
      
      * Remove expiry from locks.
      
      * Remove supefluous balance test
      
      * Amalgamate pieces of balance module
      
      * Split out vesting
      
      * Fix tests
      
      * Fixes for vesting.
      
      * Docs.
      
      * Weight docs.
      
      * Refactor things in terms of set_balances.
      
      * Switch out ED to be free + reserved.
      
      * Remove on_free_balance_zero and some docs.
      
      * Build fixes
      
      * Update frame/vesting/src/lib.rs
      
      Co-Authored-By: default avatarXiliang Chen <[email protected]>
      
      * Update frame/vesting/src/lib.rs
      
      Co-Authored-By: default avatarXiliang Chen <[email protected]>
      
      * Migration
      
      * Remove superfluous code.
      
      * Test fixes
      
      * Fix some tests
      
      * Fix repatriate reserve
      
      * Fixes
      
      * Add test for migration
      
      * Final cleanups
      
      * Fix
      
      * Indentation.
      
      * Undo unneeded referencing
      
      * Bump runtime version
      
      * Fixes
      
      Co-authored-by: default avatarXiliang Chen <[email protected]>
      d52d8692
  35. Jan 27, 2020
  36. Jan 20, 2020
    • thiolliere's avatar
      Pallet session new API (#4609) · 164dec95
      thiolliere authored
      * Initial work
      
      * Fix most things
      
      * fix test
      
      * fix old comment
      
      * migration
      
      * fix
      
      * remove useless stuff
      
      * fix
      
      * less spaghetti implementation
      
      * fix initial session
      
      * fix
      164dec95
  37. Jan 10, 2020