1. Jun 23, 2022
    • Sasha Gryaznov's avatar
      [contracts] Implement transparent hashing for contract storage (#11501) · 68ea2ab0
      Sasha Gryaznov authored
      
      
      * save
      
      * builds and old tests pass
      
      save:  temporary value dropped while borrowed
      
      save: finally builds
      
      test updated but still fails
      
      * type names enhanced
      
      * VarSizedKey bounded to new Config param
      
      * improved wasm runtime updated funcs
      
      * unstable-interface tests fixed
      
      * benchmarks fixed
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * fixes on feedback
      
      * fixes on feedback applied + make it build
      
      * benchmarks build but fail (old)
      
      * "Original code too large"
      
      * seal_clear_storage bench fixed (code size workaround hack removal tbd)
      
      * bench_seal_clear_storage pass
      
      * bench_seal_take_storage ... ok
      
      * added new seal_set_storage + updated benchmarks
      
      * added new seal_get_storage + updated benchmarks
      
      * added new seal_contains_storage + updated benchmarks
      
      * added tests for _transparent exec functions
      
      * wasm test for clear_storage
      
      * wasm test for take_storage
      
      * wasm test for new set_storage
      
      * wasm test for new get_storage
      
      * wasm test for new contains_storage
      
      * CI fix
      
      * ci fix
      
      * ci fix
      
      * ci fix
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fixes according to the review feedback
      
      * tests & benchmarks fixed
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * refactoring
      
      * fix to runtime api
      
      * ci fix
      
      * ctx.get_storage() factored out
      
      * ctx.contains_storage() factored out
      
      * number of batches reduced for transparent hashing storage benchmarks
      
      * contracts RPC & pallet::get_storage to use transparent hashing
      
      * node and rpc updated to use get_storage with VarSizedKey
      
      * refactored (more concize)
      
      * refactored contains_storage (DRYed)
      
      * refactored contains_storage (DRYed)
      
      * fix rpc
      
      * fmt fix
      
      * more fixes in rpc
      
      * rollback `Pallet:get_storage` to Vec<u8> and rpc and node parts related to it
      
      * added `KeyDecodingFailed` error
      
      * Revert weird "fmt fix"
      
      This reverts commit c582cfff4b5cb2c9929fd5e3b45519bb24aeb657.
      
      * node-executor basic test update
      
      * fix node-executor basic test
      
      * benchmarks fix
      
      * more benchmarks fix
      
      * FixedSizedKey is hidden from pub, VarSizedKey is exported as StorageKey
      
      * ci fix
      
      * set_storage benchmark fix
      
      * ci fix
      
      * ci fix
      
      * comments improved
      
      * new error code to rpc: KEY_DECODING_FAILED
      
      * Put `rusty-cachier` before PR merge into `master` for `cargo-check-benches` job
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * minor optimization
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: Vladimir Istyufeev's avatarVladimir Istyufeev <[email protected]>
      Co-authored-by: command-bot <>
      68ea2ab0
  2. Jun 22, 2022
  3. Jun 16, 2022
  4. Jun 15, 2022
    • Georges's avatar
      combine iteratons and tolerance in sp-npos-elections API (#11498) · b71e1804
      Georges authored
      
      
      * Initial implementation of mms
      
      * Some more attempts at `mms`
      
      * Functioning `MMS` algorithm implementation.
      Adding some tests too
      
      * More tests and typos fixed.
      
      * Adding fuzzer for `mms`
      (but could not test it on Mac M1)
      
      * Missing imports
      
      * Fixing rustdoc
      
      * More accurate implementation of `mms`
      
      * Removing the fuzzer `mms` implementation
      
      * Implementing `NposSolver` for `MMS`
      had to add the `Clone` trait, maybe I could see if I can get rid of it.
      
      * Fixing rust docs by adding () to resolve ambiguity
      
      * Amending `unwrap` to `expect`
      removing unneeded `Clone` trait
      
      * Removing redundant `mms3.rs`
      
      * Implementing `BalancingConfig` and rustdoc changes
      
      * Implementing `weight` for `MMS`
      
      * Implementing `weight` for `MMS`
      
      * Fixing post merge
      
      * Initial implementation of mms
      
      * Some more attempts at `mms`
      
      * Functioning `MMS` algorithm implementation.
      Adding some tests too
      
      * More tests and typos fixed.
      
      * Adding fuzzer for `mms`
      (but could not test it on Mac M1)
      
      * Missing imports
      
      * Fixing rustdoc
      
      * More accurate implementation of `mms`
      
      * Removing the fuzzer `mms` implementation
      
      * Implementing `NposSolver` for `MMS`
      had to add the `Clone` trait, maybe I could see if I can get rid of it.
      
      * Amending `unwrap` to `expect`
      removing unneeded `Clone` trait
      
      * Fixing rust docs by adding () to resolve ambiguity
      
      * Removing redundant `mms3.rs`
      
      * Implementing `BalancingConfig` and rustdoc changes
      
      * Implementing `weight` for `MMS`
      
      * Implementing `weight` for `MMS`
      
      * Fixing post merge
      
      * Removing left over from rebase
      
      * Fixing tests
      
      * Removing unneeded import
      
      * Removing unneeded functions
      
      * Removing useless imports
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      b71e1804
    • Sebastian Kunert's avatar
      Remove `without_storage_info` from pallet `transaction-storage` (#11668) · 2248d191
      Sebastian Kunert authored
      * Introduce BoundedVec
      
      * Fix typos
      
      * Add comments to the bounds
      
      * Remove migration
      
      * Improve bound value access syntax
      2248d191
  5. Jun 13, 2022
  6. Jun 10, 2022
  7. Jun 01, 2022
    • Gavin Wood's avatar
    • Gavin Wood's avatar
      Ranked Collective pallet (#11548) · 5595f102
      Gavin Wood authored
      * Ranked Collective pallet
      
      * Fixes
      
      * benchmarks
      
      * Weights
      
      * Allow class voting in rank
      Use bare ayes for calculating support.
      Allow only promotion/demotion by one rank only.
      Allow removal of member with rank zero only.
      Use new Tally API
      
      * Index by rank, still O(1).
      
      * Custom vote weights
      
      * Formatting
      
      * Update frame/ranked-collective/src/lib.rs
      
      * Broken :(
      
      * origin guard; cleanup uses new API
      
      * Formatting
      
      * Promote/demote by rank
      
      * Formatting
      
      * Use new API
      
      * Remove code in another PR
      
      * Remove code in another PR
      
      * Formatting
      
      * Remove code in another PR
      
      * Docs
      
      * Docs
      
      * Bump
      
      * Fixes
      
      * Formatting
      
      * Fixes
      5595f102
  8. May 31, 2022
    • Gavin Wood's avatar
      Several tweaks needed for Governance 2.0 (#11124) · 7808b0c3
      Gavin Wood authored
      
      
      * Add stepped curve for referenda
      
      * Treasury SpendOrigin
      
      * Add tests
      
      * Better Origin Or-gating
      
      * Reciprocal curve
      
      * Tests for reciprical and rounding in PerThings
      
      * Tweaks and new quad curve
      
      * Const derivation of reciprocal curve parameters
      
      * Remove some unneeded code
      
      * Actually useful linear curve
      
      * Fixes
      
      * Provisional curves
      
      * Rejig 'turnout' as 'support'
      
      * Use TypedGet
      
      * Fixes
      
      * Enable curve's ceil to be configured
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove EnsureOneOf
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Update frame/support/src/traits/dispatch.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Grumbles
      
      * Formatting
      
      * Fixes
      
      * APIs of VoteTally should include class
      
      * Fixes
      
      * Fix overlay prefix removal result
      
      * Second part of the overlay prefix removal fix.
      
      * Formatting
      
      * Fixes
      
      * Add some tests and make clear rounding algo
      
      * Fixes
      
      * Formatting
      
      * Revert questionable fix
      
      * Introduce test for kill_prefix
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fix possible overflow
      
      * Docs
      
      * Add benchmark test
      
      * Formatting
      
      * Update frame/referenda/src/types.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Docs
      
      * Fixes
      
      * Use latest API in tests
      
      * Formatting
      
      * Whitespace
      
      * Use latest API in tests
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      7808b0c3
  9. May 19, 2022
  10. May 18, 2022
  11. May 17, 2022
  12. May 16, 2022
    • Jegor Sidorenko's avatar
      Use 'Items' and 'Collections' in uniques pallet (#11389) · ed7d1e7a
      Jegor Sidorenko authored
      
      
      * Rename class to collection
      
      * Use "assets collection" instead of "asset collection"
      
      * Rename 'instance' to 'asset'
      
      * Change "asset `collection`" to "`collection`"
      
      * A bit more clean up
      
      * Rename Asset to Item
      
      * Add a storage hack
      
      * Typos
      
      * fix compile
      
      * fmt
      
      * Fix
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/uniques/src/lib.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_uniques --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/uniques/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Change 'items collection' to 'collection'
      
      * Apply suggestions
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      ed7d1e7a
  13. May 11, 2022
  14. May 09, 2022
  15. May 06, 2022
  16. May 04, 2022
    • Web3 Smith's avatar
      Update MMR Runtime API with functionality to generate MMR proof for a series... · fd45676d
      Web3 Smith authored
      
      Update MMR Runtime API with functionality to generate MMR proof for a series of leaf indices  (#10635)
      
      * updated mmr rpc api with functions for batch generation of proof
      
      * update code comments
      
      * fix build errors
      
      * added tests to mmr-rpc
      
      * add tests to pallet-mmr
      
      * update comments
      
      * minor comment fix
      
      * remove unused variables
      
      * fix rust doc errors
      
      * refactor mmr runtime api
      
      * fix tests
      
      * minor fix
      
      * minor fix
      
      * fix node-runtime
      
      * revert to initial api
      
      * impl from proof fot batchproof
      
      * minor fix
      
      * minor fix
      
      * use explicit functions to convert btw batch proof and single proof
      
      * minor fix
      
      * add new variant to mmr error
      
      * fmt
      
      * update conversion to single leaf proof
      
      * fix style nit
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      fd45676d
  17. Apr 30, 2022
  18. Apr 28, 2022
    • Joshua W's avatar
      Dependency Injection Trait Locker for Uniques Pallet (#11025) · 21341f35
      Joshua W authored
      
      
      * Create a dependency injection trait named Locker that can be implemented downstream to enable locking of an asset. Use case defined in RMRK substrate pallet PR76
      
      * Formatting
      
      * Change impl Locker function name to is_locked
      
      * Remove unused import
      
      * Add docstring header
      
      * Remove impl_locker file and add Locker trait to frame_support::traits
      
      * Expose Locker from frame_support::traits::misc
      
      * Formatting
      
      * Move to tokens folder
      
      * Move to tokens folder
      
      * Format and remove Locker from misc traits
      
      * Punctuation
      
      * Update frame/support/src/traits/tokens/misc.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarGiles Cope <[email protected]>
      21341f35
  19. Apr 27, 2022
    • Zeke Mostov's avatar
      Nomination Pools (#10694) · 247f33dc
      Zeke Mostov authored
      
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add admin roles and make some calls permissionless
      
      * Destroy pool in withdraw unbonded
      
      * Add docs on pool admin
      
      * Fixup tests
      
      * Test unbond_other permissionless scenarios
      
      * Test withdraw unbonded permissionless
      
      * Test only can join open pools
      
      * Move unsafe set state to mock
      
      * Test: nominate_works
      
      * Add bounds: MinJoinBond, MinCreateBond, MaxPools
      
      * Test MinCreateBond, MinJoinBond, MaxPools
      
      * Add post checks to tests
      
      * Remove some TODOs
      
      * Setup weight infrastructure
      
      * Benchmark claim_payout
      
      * Benchmark create
      
      * Benchmark nominate
      
      * Benchmark join
      
      * Benchmark unbond_other
      
      * Refactor join benchmark to use scenario setup
      
      * Clean up and address warnings
      
      * Basic withdraw unbonded benchmarks
      
      * Refactor nominate benchmark
      
      * Refactor claim payout
      
      * Add feature sp-staking/runtime-benchmarks
      
      * Get node runtime to compile
      
      * Get node to run
      
      * Make claim_payout bench work with node
      
      * Make pool_withdraw_unbonded bench work with node
      
      * Make withdraw_unbonded_other work with node runtime'
      
      * Make create benchmark work with node
      
      * Make nominate benchmark work with node runtime
      
      * WiP new benchmark crate
      
      * Implement initial mock for benchmarks
      
      * Establish benchmark setup logic
      
      * Get claim payout and nominate benchmarks working
      
      * Remove pool bench utils; make struct fields pub insteaad
      
      * Get more benchmarks to work; trim interface trait
      
      * Some more top level docs
      
      * Finish tranistion benchmarks to crate
      
      * Hook up benchmark pallet to node runtime
      
      * Get benches to work with node runtime
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Benchmark withdraw_unbonded_other_kill
      
      * Delete old benchmarking files
      
      * Refunds for withdraw_unbonded
      
      * Remove some TODOs
      
      * 'Don't return an option for the current_era'
      
      * Streamline extrinsic docs
      
      * small docs tweaks
      
      * Refactor ledger::slash
      
      * Add on_slash impl for nomination pools
      
      * slash refactor wip
      
      * WIP slash working
      
      * DRY Ledger::stash
      
      * Fix slash saturation
      
      * Remove unused param from slash
      
      * Docs and warnings
      
      * Test ledger::slash
      
      * save progress
      
      * Introduce counter for delegators
      
      * Add tests for max delegator errors
      
      * Reproducible account ids
      
      * Adapt tests to new account id format
      
      * Simplify create_accounts api
      
      * Fix staking tests
      
      * Save PerBill slash impl before removing
      
      * Rever ledger slash test
      
      * Get node runtime to work
      
      * Organize sub pools by unbond era, not curren era
      
      * staking: Proportional ledger slashing
      
      * Some comment cleanup
      
      * Add more test post checks
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Tests: account for storing unbond era
      
      * Improve docs for staking interface
      
      * Add events Created, Destroyed
      
      * withdraw_unbonded: Remove useless withdraw dust check
      
      * Test: withdraw_unbonded_other_handles_faulty_sub_pool_accounting
      
      * Add extrinsics: set_state_other, set_metadata
      
      * Test: set_state_other_works
      
      * Test: set_metadata_works
      
      * Add benchmarks for set_state_other, set_metadata
      
      * Fix benchmarks
      
      * Add weight info for new extrinsics
      
      * Some feedback
      
      * duo feedback
      
      * Incorporate some more feedback
      
      * integrate more kian feedback
      
      * integrate more kian feedback
      
      * More improvements
      
      * Add destroying_mul
      
      * Make do_reward_payout take refs
      
      * Remove some TODOs
      
      * Add test for saturating
      
      * feedback
      
      * Fix join test
      
      * use `inner` for nested types in nomination pools (#11030)
      
      * Use nested inner type for pool
      
      * make tests and benchmarks work
      
      * remove feat
      
      * all tests work now
      
      * fix node-runtime
      
      * nomination-pools: update benches for new account format (#11033)
      
      * Update benches to new account format
      
      * More sensible seeds
      
      * bring back rward account sanity check
      
      * Comment
      
      * Add extrinsic set_configs (#11038)
      
      * Better sanity checks for nomination pools  (#11042)
      
      * new sanity checks, few other changes
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * nomination-pools: Fix state event regression + benches (#11045)
      
      * new sanity checks, few other changes
      
      * Fix benches, improve sanity check
      
      * Remove useless clear storage in benchmarking
      
      * Set state
      
      * Save
      
      * Doc
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      
      * FMT
      
      * Try fill in all staking configs
      
      * Fix build
      
      * More changes to nomination pools (#11050)
      
      * new sanity checks, few other changes
      
      * some last touches as a whole
      
      * Apply suggestions from code review
      
      * Remove redundant event
      
      * Improve unbond_other error handling
      
      * Remove comment
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      Co-authored-by: default avataremostov <[email protected]>
      
      * Remove sanity module and some TODOs
      
      * round of feedback and imp from kian
      
      * Add TODO for ED QoL at reward pool creation
      
      * Make sure reward pool never gets dusted
      
      * Improve error type
      
      * demonstrate per_thing usage
      
      * Update sanity check & fix create_works
      
      * Improve test ext pool creation & fix some more tests
      
      * Try revert
      
      * Revert "Try revert"
      
      This reverts commit c044c94730e1a370eecd8f5b2c4f632835913063.
      
      * Revert "Improve test ext pool creation & fix some more tests"
      
      This reverts commit 1e862a64a7423479260c6e5ad1bd4c8c95651f3a.
      
      * Revert "Update sanity check & fix create_works"
      
      This reverts commit 568a7b727687e4d585e2796afc638df97b83c632.
      
      Roll back reward account funding
      
      * Revert "Improve error type"
      
      This reverts commit 4b993ee601a037e7a44e4a49bbfd60cf45b38b78.
      
      * Revert "Make sure reward pool never gets dusted"
      
      This reverts commit e7a3eb45bdfd156d3f6d94d194e988032ebbc593.
      
      revert
      
      * Update some tests
      
      * FMT
      
      * Test that era offset works correctly
      
      * Update mocks
      
      * Remove unnescary docs
      
      * Doc updates
      
      * Update calculate_delegator_payout_works_with_a_pool_of_1
      
      * Fix test: claim_payout_works
      
      * do_reward_payout_correctly_sets_pool_state_to_destroying
      
      * Remove test do_reward_payout_errors_correctly
      
      * Fix test: do_reward_payout_works
      
      * Fix test: create_errors_correctly
      
      * Fix test: create works
      
      * Fix test: unbond_other_of_3_works
      
      * Ensure that ED is transferred into reward pool upon creation
      
      * WIP pool lifecycle test
      
      * Fix benchmarks
      
      * Add sanity check for ED + reward pools
      
      * `bond_extra` for nomination pools (#11100)
      
      * bond_extra for nomination pools
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * add benchmarks
      
      * remove the min logic of bond_extra
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * FMT
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * make it compile end to end
      
      * Update some type viz
      
      * Update kick terminology
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Cache bonded account when creating pool
      
      * Add bond extra weight stuff
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update docs for pool withdraw unbonded
      
      * Update docs for unbond
      
      * Improve Doc
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/Cargo.toml
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Improve Docs
      
      * Some docs improvements
      
      * fmt
      
      * Remove unlock_era
      
      * Fix accidental frame-support regression
      
      * Fix issue with transactions in tests
      
      * Fix doc links
      
      * Make sure result in test is used
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix can toggle state
      
      * Account for new_funds in ok to be open
      
      * Update docs: ok_to_withdraw_unbonded_other_with
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Remove some staking comments
      
      * Rename SubPoolsWithEra to UnbondingPoolsWithEra
      
      * Use validators length for benchmarks
      
      * Use metadata length for benchmarks
      
      * Remove debug assert eq
      
      * docs
      
      * Fix test: withdraw_unbonded_other_errors_correctly
      
      * Fix check for having enough balance to create the pool
      
      * Bond event for pool creation
      
      * Ok to be open
      
      * FMT
      
      * Remove _other postfix
      
      * Update frame/staking/src/lib.rs
      
      * Adjust tests to account for only remove when < ED
      
      * Remove stale TODOs
      
      * Remove dupe test
      
      * Fix build
      
      * Make sure to convert to u256 so we don't saturate
      
      * Refund depositor with reward pool fee
      
      * FMT
      
      * Remove reachable defensive
      
      * Use compact encoding for relevant extrinsics
      
      * Remove unnescary make_free_be for cleaning reward account
      
      * Add not to maintainers for reward account accounting
      
      * Remove note to maintainers from public doc
      
      * Make sure all configs have currency balance
      
      * Avoid saturation in balance_to_unbond
      
      * Partial Unbonding for Nomination Pools (#11212)
      
      * first draft of partial unbonding for pools
      
      * remove option
      
      * Add some more tests and fix issues
      
      * Fix all tests
      
      * simplify some tests
      
      * Update frame/nomination-pools/src/mock.rs
      
      * remove clone
      
      * rename to delegator_unbonding_eras
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/tests.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * remove pub
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * undo
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * leftovers
      
      * fix invariant
      
      * Fix the depositor assumption
      
      * round of self-review
      
      * little bit more cleanup
      
      * Update frame/nomination-pools/src/mock.rs
      
      * Apply suggestions from code review
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Fix interpretation of MinCreateBond
      
      * controvesial refactor
      
      * rename
      
      * make everything build
      
      * add TODO about killing the reward account
      
      * Update frame/nomination-pools/src/lib.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update frame/nomination-pools/src/lib.rs
      
      * last self-review
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * Update Cargo.lock
      
      * Rename Delegator to PoolMember
      
      * fmt
      
      * Get runtime to build with runtime-benchmarks feature
      
      * Update Cargo.lock
      
      * Fix asserts to work in more scenarios
      
      * gte not gt
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_nomination_pools --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/nomination-pools/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update frame/staking/src/mock.rs
      
      * Update frame/nomination-pools/src/lib.rs
      
      * Update frame/staking/src/slashing.rs
      
      * Apply suggestions from code review
      
      * fmt
      
      * Fix some tests
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      247f33dc
  20. Apr 26, 2022
  21. Apr 21, 2022
    • Zeke Mostov's avatar
      staking: Proportional ledger slashing (#10982) · e0bf4f36
      Zeke Mostov authored
      
      
      * staking: Proportional ledger slashing
      
      * Some comment cleanup
      
      * Update frame/staking/src/pallet/mod.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix benchmarks
      
      * FMT
      
      * Try fill in all staking configs
      
      * round of feedback and imp from kian
      
      * demonstrate per_thing usage
      
      * Update some tests
      
      * FMT
      
      * Test that era offset works correctly
      
      * Update mocks
      
      * Remove unnescary docs
      
      * Remove unlock_era
      
      * Update frame/staking/src/lib.rs
      
      * Adjust tests to account for only remove when < ED
      
      * Remove stale TODOs
      
      * Remove dupe test
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      e0bf4f36
  22. Apr 20, 2022
  23. Apr 18, 2022
  24. Apr 15, 2022
    • Georges's avatar
      Adding benchmarking for new `frame_election_provider_support` (#11149) · ae75a371
      Georges authored
      * First stab at adding benchmarking for
      `election-provider-support` onchain
      
      * Adding `BoundedPhragMMS` and fixing stuff
      
      * Fixing node runtime
      
      * Fixing tests
      
      * Finalising all benchmarking stuff
      
      * better comments
      
      * Better benchmarking config
      
      * Better `WeightInfo` and benchmarking
      
      * Fixing tests
      
      * Adding some documentation
      
      * Fixing some typos
      
      * Incorporating review feedback
      
      * cleanup of rustdocs
      
      * rustdoc changes
      
      * changes after code review
      
      * Fixing some errors.
      
      * Fixing dependencies post merge
      
      * Bringing back `UnboundedExecution`
      
      * Better rustdoc and naming
      
      * Cargo.toml formatting
      ae75a371
  25. Apr 13, 2022
    • Adrian Catangiu's avatar
      Expose MMR root through runtime API - use it in BEEFY client (#11183) · 80ce5c57
      Adrian Catangiu authored
      * beefy-gadget: allow custom runtime api provider
      
      * beefy-gadget: use mock runtime api in tests
      
      * pallet-mmr: expose mmr root from state through runtime API
      
      * beefy-gadget: get mmr root from runtime state
      
      * pallet-beefy-mmr: remove MmrRoot from header digests
      
      * frame/mmr: move mmr primitives out of frame
      
      * frame/mmr: completely move primitives out of frame
      
      * address review comments
      
      * beefy-mmr: bring back mmr root from header digest
      
      * clippy fixes for rustc 1.60
      
      * address review comments
      80ce5c57
  26. Apr 07, 2022
  27. Mar 25, 2022
    • Georges's avatar
      Add a bounded fallback on failed elections (#10988) · e9bfdd9a
      Georges authored
      
      
      * Allow `pallet-election-provider` to accept smaller
      solutions, issue #9478
      
      * Fixing a typo
      
      * Adding some more tests
      Removing a seemingly outdated comment
      
      * making it a URL
      
      * Updating test name as per suggestion
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Updating documentation to be more explicit
      
      And to follow the general guidelines
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fixing formatting
      
      * `Fallback` now of type `InstantElectionProvider`
      Some cleanups
      
      * Allow `pallet-election-provider` to accept smaller
      solutions, issue #9478
      
      * Fixing a typo
      
      * Adding some more tests
      Removing a seemingly outdated comment
      
      * making it a URL
      
      * Updating test name as per suggestion
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Updating documentation to be more explicit
      
      And to follow the general guidelines
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fixing formatting
      
      * `Fallback` now of type `InstantElectionProvider`
      Some cleanups
      
      * Merging types into one type with generics
      
      * Removing `ConstUSize` and use `ConstU32`
      
      * cleaning up the code
      
      * deprecating `OnChainSequentialPhragmen`
      Renaming it to `UnboundedSequentialPhragmen` which should only be used
      at genesis and for testing.
      Use preferrably `BoundedOnChainSequentialPhragmen`
      
      * Amending docs
      
      * Adding some explicit imports
      
      * Implementing generic `BoundedOnchainExecution`
      Removing the deprecated `OnChainSequentialPhragmen`
      
      * Use the right Balancing strategy
      
      * Refactoring `onchain::Config`
      Creating `onchain::ExecutionConfig`
      
      * Merge master
      
      * fmt
      
      * Name cleanups after review suggestions
      
      * cosmetics
      
      * renaming `instant_elect` to `elect_with_bounds`
      Other corresponding changes as per @Kianenigma
      
       feedback
      
      * `BoundedOnchainExecution` -> `BoundedExecution`
      And `UnboundedOnchainExecution` -> `UnboundedExecution`
      
      * feedback from kian
      
      * fmt + unneeded import
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      e9bfdd9a
    • Shawn Tabrizi's avatar
      Improve Bounties and Child Bounties Deposit Logic (#11014) · a95dbede
      Shawn Tabrizi authored
      
      
      * basic idea
      
      * make tests better
      
      * update bounties pallet to also have similar logic
      
      * new test verifies logic for bounty pallet
      
      * add test for new child logic
      
      * better name
      
      * make `node` compile with bounties changes
      
      * * formatting
      * use uniform notion of parent and child, no "master" or "general" entity
      * README updated to match comments
      
      * Revert "* formatting"
      
      This reverts commit 1ab729e7c23b5db24a8e229d487bbc2ed81d38c3.
      
      * update bounties logic to use bounds
      
      * fix child
      
      * bounties test for max
      
      * update tests
      
      * check min bound
      
      * update node
      
      * remove stale comment
      
      * Update frame/bounties/src/lib.rs
      
      Co-authored-by: default avatarDan Shields <[email protected]>
      a95dbede
  28. Mar 23, 2022
    • Kian Paimani's avatar
      Store validator self-vote in bags-list, and allow them to be trimmed for election (#10821) · 661d0ea5
      Kian Paimani authored
      
      
      * Implement the new validator-in-bags-list scenario + migration
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * some review comments
      
      * guard the migration
      
      * some review comments
      
      * Fix tests 🤦
      
      ‍♂️
      
      * Fix build
      
      * fix weight_of_fn
      
      * reformat line width
      
      * make const
      
      * use weight of fn cached
      
      * SortedListProvider -> VoterList
      
      * Fix all build and docs
      
      * check post migration
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      661d0ea5
    • Georges's avatar
      Implementing `MaxEncodedLen` for `generate_solution_type` (#11032) · e0cef349
      Georges authored
      * Move `sp-npos-elections-solution-type`
      to `frame-election-provider-support`
      First stab at it, will need to amend some more stuff
      
      * Fixing tests
      
      * Fixing tests
      
      * Fixing cargo.toml for std configuration
      
      * Implementing `MaxEncodedLen`
      on `generate_solution_type`
      
      * Full implementation of `max_encoded_len`
      
      * Fixing implementation bug
      adding some comments and documentation
      
      * fmt
      
      * Committing suggested changes
      renaming, and re exporting macro.
      
      * Removing unneeded imports
      
      * Implementing `MaxEncodedLen`
      on `generate_solution_type`
      
      * Full implementation of `max_encoded_len`
      
      * Fixing implementation bug
      adding some comments and documentation
      
      * Move `NposSolution` to frame
      
      * Implementing `MaxEncodedLen`
      on `generate_solution_type`
      
      * Full implementation of `max_encoded_len`
      
      * Fixing implementation bug
      adding some comments and documentation
      
      * Fixing test
      
      * Removing unneeded dependencies
      
      * `VoterSnapshotPerBlock` -> `MaxElectingVoters`
      
      * rename `SizeBound` to `MaxVoters`
      
      * Removing TODO and change bound
      
      * renaming `size_bound` to `max_voters`
      
      * Enabling tests for `solution-type`
      These got dropped off after the crate was moved from `sp_npos_elections`
      
      * Adding tests for `MaxEncodedLen` of solution_type
      
      * Better rustdocs. Better indenting and comments.
      Removing unneeded imports in tests.
      e0cef349
  29. Mar 19, 2022
  30. Mar 16, 2022
    • Georges's avatar
      Moving `NposSolution` to frame (#11031) · 26a8c7e6
      Georges authored
      
      
      * Move `sp-npos-elections-solution-type`
      to `frame-election-provider-support`
      First stab at it, will need to amend some more stuff
      
      * Fixing tests
      
      * Fixing tests
      
      * Fixing cargo.toml for std configuration
      
      * fmt
      
      * Committing suggested changes
      renaming, and re exporting macro.
      
      * Removing unneeded imports
      
      * Move `NposSolution` to frame
      
      * Removing `npos_election` dependencies
      Implementing _fpes better
      
      * some feedback for moving NPoSSolution to frame
      
      * fmt
      
      * more formatting
      
      * Fixed some imports and fmt
      
      * Fixing docs
      
      Co-authored-by: default avatarkianenigma <[email protected]>
      26a8c7e6
  31. Mar 14, 2022
  32. Mar 09, 2022
  33. Mar 07, 2022