Skip to content
  1. Aug 26, 2021
  2. Aug 25, 2021
  3. Aug 24, 2021
    • Zeke Mostov's avatar
      pallet-vesting: Support multiple, merge-able vesting schedules (#9202) · ede36408
      Zeke Mostov authored
      
      
      * Support multiple, mergable vesting schedules
      
      * Update node runtime
      
      * Remove some TODO design questions and put them as commennts
      
      * Update frame/vesting/src/benchmarking.rs
      
      * Syntax and comment clean up
      
      * Create filter enum for removing schedules
      
      * Dry vesting calls with do_vest
      
      * Improve old benchmarks to account for max schedules
      
      * Update WeightInfo trait and make dummy fns
      
      * Add merge_schedule weights
      
      * Explicitly test multiple vesting scheudles
      
      * Make new vesting tests more more clear
      
      * Apply suggestions from code review
      
      * Update remove_vesting_schedule to error with no index
      
      * Try reduce spacing diff
      
      * Apply suggestions from code review
      
      * Use get on vesting for bounds check; check origin first
      
      * No filter tuple; various simplifications
      
      * unwrap or default when getting user schedules
      
      * spaces be gone
      
      * ReadMe fixes
      
      * Update frame/vesting/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * address some comments for docs
      
      * merge sched docs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * log error when trying to push to vesting vec
      
      * use let Some, not is_some
      
      * remove_vesting_schedule u32, not optin
      
      * new not try_new, create validate builder; VestingInfo
      
      * Merge prep: break out tests and mock
      
      * Add files forgot to include in merge
      
      * revert some accidental changes to merged files
      
      * Revert remaining accidental file changes
      
      * More revert of accidental file change
      
      * Try to reduce diff on tests
      
      * namespace Vesting; check key when key should not exist;
      
      * ending_block throws error on per_block of 0
      
      * Try improve merge vesting info comment
      
      * Update frame/vesting/src/lib.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * add validate + correct; handle duration > blocknumber
      
      * Move vesting_info module to its own file
      
      * Seperate Vesting/locks updates from writing
      
      * Add can_add_vesting schedule
      
      * Adjust min vested transfer to be greater than all ED
      
      * Initial integrity test impl
      
      * merge_finished_and_yet_to_be_started_schedules
      
      * Make sure to assert storage items are cleaned up
      
      * Migration initial impl (not tested)
      
      * Correct try-runtime hooks
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * header
      
      * WIP: improve benchmarks
      
      * Benchmarking working
      
      * benchmarking: step over max schedules
      
      * 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
      
      * Simplify APIs by accepting vec; convert to bounded on write
      
      * Test:  build_genesis_has_storage_version_v1
      
      * Test more error cases
      
      * Hack to get polkadot weights to work; should revert later
      
      * Improve benchmarking; works on polkadot
      
      * 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
      
      * WIP override storage
      
      * Set storage not working example
      
      * Remove unused tests
      
      * VestingInfo: make public, derive MaxEndcodedLen
      
      * Rename ending_block to ending_block_as_balance
      
      * Superificial improvements
      
      * Check for end block infinite, not just duration
      
      * More superficial update
      
      * Update tests
      
      * Test vest with multi schedule
      
      * Don't use half max balance in benchmarks
      
      * Use debug_assert when locked is unexpected 0
      
      * Implement exec_action
      
      * Simplify per_block calc in vesting_info
      
      * VestingInfo.validate in add_vesting_schedule & can_add_vesting_schedule
      
      * Simplify post migrate check
      
      * Remove merge event
      
      * Minor benchmarking updates
      
      * Remove VestingInfo.correct
      
      * per_block accesor max with 1
      
      * Improve comment
      
      * Remoe debug
      
      * Fix add schedule comment
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * no ref for should_remove param
      
      * Remove unused vestingaction derive
      
      * Asserts to show balance unlock in merge benchmark
      
      * Remove unused imports
      
      * trivial
      
      * Fix benchmark asserts to handle non-multiple of 20 locked
      
      * Add generate_storage_info
      
      * migration :facepalm
      
      * Remove per_block 0 logic
      
      * Update frame/vesting/src/lib.rs
      
      * Do not check for ending later than greatest block
      
      * Apply suggestions from code review
      
      * Benchmarks: simplify vesting schedule creation
      
      * Add log back for migration
      
      * Add note in ext docs explaining that all schedules will vest
      
      * Make integrity test work
      
      * Improve integrity test
      
      * Remove unnescary type param from VestingInfo::new
      
      * Remove unnescary resut for ending_block_as_balance
      
      * Remove T param from ending_block_as_balance
      
      * Reduce visibility of raw_per_block
      
      * Remove unused type param for validate
      
      * update old comment
      
      * Make log a dep; log warn in migrate
      
      * VestingInfo.validate returns Err(()), no T type param
      
      * Try improve report_schedule_updates
      
      * is_valid, not validate
      
      * revert node runtime reorg;
      
      * change schedule validity check to just warning
      
      * Simplify merge_vesting_info return type
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add warning for migration
      
      * Fix indentation
      
      * Delete duplicate warnings
      
      * Reduce diff in node runtime
      
      * Fix benchmark build
      
      * Upgrade cargo.toml to use 4.0.0-dev
      
      * Cleanup
      
      * MaxVestingSchedulesGetter initial impl
      
      * MinVestedTransfer getter inintial impl
      
      * Test MaxVestingSchedules & MinVestedTransfer getters; use getters in benchmarks
      
      * Run cargo fmt
      
      * Revert MinVestedTransfer & MaxVestingSchedules getters; Add integrity test
      
      * Make MAX_VESTING_SCHEDULES a const
      
      * fmt
      
      * WIP: benchmark improvements
      
      * Finish benchmark update
      
      * Add test for transfer to account with less than ed
      
      * Rm min_new_account_transfer; move sp-io to dev-dep
      
      * Reduce cargo.toml diff
      
      * Explain MAX_VESTING_SCHEDULES choice
      
      * Fix after merge
      
      * Try fix CI complaints
      
      * cargo run --quiet --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
      
      * cargo run --quiet --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
      
      * fmt
      
      * trigger
      
      * fmt
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      ede36408
  4. Aug 19, 2021
  5. Aug 13, 2021
    • Squirrel's avatar
      depend-o-pocalipse (#9450) · 7e9b8d27
      Squirrel authored
      Remove unneeded dependencies and dev-dependencies.
      Made self_destruct test not dependent on wasm bin size.  
      Updated code related to deprecated warning on tracing-subscriber `scope()` 
      ( See https://github.com/tokio-rs/tracing/issues/1429 )
      7e9b8d27
  6. Aug 12, 2021
  7. Aug 11, 2021
  8. Aug 09, 2021
  9. Aug 07, 2021
  10. Aug 06, 2021
  11. Aug 05, 2021
  12. Aug 03, 2021
  13. Jul 30, 2021
  14. Jul 28, 2021
  15. Jul 27, 2021
    • Bastian Köcher's avatar
      Move `PalletVersion` away from the crate version (#9165) · 4fe55f0b
      Bastian Köcher authored
      
      
      * Move `PalletVersion` away from the crate version
      
      Before this pr, `PalletVersion` was referring to the crate version that
      hosted the pallet. This pr introduces a custom `package.metadata.frame`
      section in the `Cargo.toml` that can contain a `pallet-version` key
      value pair. While the value is expected to be a valid u16. If this
      key/value pair isn't given, the version is set to 1.
      
      It also changes the `PalletVersion` declaration. We now only have one
      `u16` that represents the version. Not a major/minor/patch version. As
      the old `PalletVersion` was starting with the `u16` major, decoding the
      old values will work.
      
      * Overhaul the entire implementation
      
      - Drop PalletVersion
      - Introduce StorageVersion
      - StorageVersion needs to be set in the crate and set for the macros
      - Added migration
      
      * Fix migrations
      
      * Review feedback
      
      * Remove unneeded dep
      
      * remove pub consts
      
      * Brings back logging and implements `GetStorageVersion`
      
      * Return weight from migration
      
      * Fmt and remove unused import
      
      * Update frame/support/src/dispatch.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update frame/support/src/traits/metadata.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      4fe55f0b
    • Bastian Köcher's avatar
      Update trybuild to get better normalization (#9444) · 9c173724
      Bastian Köcher authored
      The old `trybuild` version didn't normalized cargo registry paths, but
      this is now done :)
      9c173724
    • Keith Yeung's avatar
      Add methods to PrefixIterator to support iterating from a specific key (#9313) · 845e6a5f
      Keith Yeung authored
      * Add methods to PrefixIterator to support iterating from a specific key
      
      * Expose the decode functions used in iterators for storage maps
      
      * Use associated decode function in tests
      
      * Revert "Expose the decode functions used in iterators for storage maps"
      
      This reverts commit 34f57d92db89646d0c98ea1880df58d58e523b09.
      
      * Fix documentation for next_key
      
      * Add API for iterating from a specified key for all storage map types
      
      * Enhance pagination test
      
      * Add API methods to storage map types
      
      * Rename next_key to last_key
      
      * Rename last_key to last_raw_key
      
      * Specify that iteration starts after starting_raw_key
      
      * Update documentation on iteration ordering
      
      * Rename next_key to previous_key
      
      * Enhance pagination unit test
      
      * Create unit tests for all kinds of iter_from methods
      
      * Define iter_from in terms of iter rather than vice versa
      
      * Cargo fmt
      845e6a5f
  16. Jul 23, 2021
  17. Jul 22, 2021
  18. Jul 21, 2021
    • Bastian Köcher's avatar
      Run cargo fmt on the whole code base (#9394) · 7b56ab15
      Bastian Köcher authored
      * Run cargo fmt on the whole code base
      
      * Second run
      
      * Add CI check
      
      * Fix compilation
      
      * More unnecessary braces
      
      * Handle weights
      
      * Use --all
      
      * Use correct attributes...
      
      * Fix UI tests
      
      * AHHHHHHHHH
      
      * 🤦
      
      * Docs
      
      * Fix compilation
      
      * 🤷
      
      * Please stop
      
      * 🤦
      
       x 2
      
      * More
      
      * make rustfmt.toml consistent with polkadot
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      7b56ab15
  19. Jul 20, 2021
  20. Jul 16, 2021
  21. Jul 13, 2021
  22. Jul 12, 2021
  23. Jul 11, 2021
    • Benjamin Kampmann's avatar
      Attempting to fix publishing (#9140) · c78c2892
      Benjamin Kampmann authored
      
      
      * mark template and utils as non-publish
      
      * switch to development version for testing
      
      * activate unleash check
      
      * maybe if I disable all rules...
      
      * Fix isolated compilation of `max-encoded-len-derive` with `syn`
      
      error[E0369]: binary operation `==` cannot be applied to type `syn::Path`
        --> src/lib.rs:88:29
         |
      88 |             .filter(|attr| attr.path == parse_quote!(max_encoded_len_crate))
         |                            --------- ^^ ----------------------------------- _
         |                            |
         |                            syn::Path
      
      error: aborting due to previous error
      
      For more information about this error, try `rustc --explain E0369`.
      Error: could not compile `max-encoded-len-derive`
      
      * WIP: bump changes crates since v3 tag to next breaking
      
      cargo unleash version bump-breaking --changed-since v3.0.0
      cargo unleash version set-pre dev --changed-since v3.0.0
      
      FIXME: Don't modify crates that are not yet released, e.g.
      `max-encoded-len-derive`
      
      * Update lockfile
      
      * WIP: Bump sp-transaction-pool as well
      
      * WIP: Bump sp-offchain as well
      
      * WIP: Bump frame-system-rpc-runtime-api as well
      
      * WIP: Bump sp-authority-discovery as well
      
      * Manually deactivate dev-deps before `cargo unleash check`
      
      Otherwise we run into `Cycle detected` error.
      
      * Bump sp-consensus-slots
      
      * Add missing Cargo.lock change
      
      * Bump sp-consensus-vrf as well
      
      * Bump sp-keyring as well
      
      * Bump sp-consensus-pow as well
      
      * Try to speed up the `unleash-check` job
      
      Previously, the job took 106 minutes - let's see if explicitly
      specifying a `CARGO_TARGET_DIR` will help
      
      * fixup: Ensure the temp target dir exists for unleash check
      
      * Bump pallet-transaction-payment-rpc-runtime-api as well
      
      Needed for Polkadot
      
      * Bump pallet-transaction-payment-rpc as well
      
      Needed for Polkadot
      
      * Try updating crates after patching in the Polkadot CI job
      
      * Use another approach to update patched Substrate crates
      
      * Try to update all sp-core versions in Polkadot CI job
      
      * Simplify sp-core version checking
      
      * Apply another shellcheck lint
      
      * Just do the simplest thing I guess
      
      * Welp don't do --offline then
      
      * Clean up `unleash-check` job triggers
      
      Co-authored-by: default avatarDenis Pisarev <[email protected]>
      
      * Fix a note in unleash-check cache step
      
      * Add a note about temporary optimization in cargo-unleash
      
      * Pin a newer version of cargo-unleash
      
      Co-authored-by: default avatarIgor Matuszewski <[email protected]>
      Co-authored-by: default avatarDenis Pisarev <[email protected]>
      c78c2892
  24. Jul 08, 2021
    • Keith Yeung's avatar
      Ensure data size of identity pallet is bounded (#9168) · 721a3b9e
      Keith Yeung authored
      * Ensure data size of identity pallet is bounded
      
      * Fix unit tests for identity pallet
      
      * Move identity pallet custom types into its own module
      
      * Make use of NoBound family traits
      
      * Fix identity pallet benchmarks
      
      * Enumerate type imports
      
      * Properly convert to BoundedVec in benchmarks
      
      * Re-export types
      
      * Use BoundedVec when storing sub identities
      
      * Add generate_storage_info
      
      * Manually implement MaxEncodedLen on select types
      
      * Use ConstU32 instead of parameter_type
      
      * Leverage DefaultNoBound and add some comments
      
      * Use max_encoded_len() instead of hardcoded constant
      
      * Use MaxEncodedLen in parity-scal-codec
      
      * Add get_mut method for WeakBoundedVec
      
      * Use expect on an infallible operation
      
      * Rewrite as for loop
      721a3b9e
  25. Jul 07, 2021
    • Shawn Tabrizi's avatar
      Include `StorageInfo` in Benchmarking Pipeline (#9090) · b42b8fc5
      Shawn Tabrizi authored
      
      
      * extend storageinfo
      
      * extend_storage_info
      
      * use vec
      
      * add storage info to pipeline
      
      * get read and written keys
      
      * undo storageinfo move
      
      * refactor keytracker
      
      * return read / write count
      
      * playing with key matching
      
      * add basic `StorageInfo` constructor
      
      * add whitelisted to returned info
      
      * fix some test stuff
      
      * pipe comments into benchmark data
      
      * add_storage_comments
      
      * add comments to template
      
      * track only storage prefix
      
      * Update frame/benchmarking/src/lib.rs
      
      * 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
      
      * fix test
      
      * 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 test logs
      
      * add temp benchmark script
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * remove keytracker and use trackedstoragekey
      
      * add comment for unknown keys
      
      * 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
      
      * remove duplicate comments with unknown keys
      
      * 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
      
      * 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
      
      * refactor bench tracker, and fix results
      
      * 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
      
      * fix child tries in new tracker
      
      * extra newline
      
      * fix unused warning
      
      * 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
      
      * fix master merge
      
      * storage info usage refactor
      
      * remove now unused
      
      * fix refactor
      
      * use a vec for prefix
      
      * fix tests
      
      * also update writer to use vec
      
      * disable read and written keys for now
      
      * 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 frame/system/src/weights.rs
      
      * fix test
      
      * Delete weights.rs
      
      * reset weights
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      b42b8fc5
  26. Jul 06, 2021
  27. Jul 05, 2021
    • Igor Matuszewski's avatar
      Remove in-tree `max-encoded-len` and use the new SCALE codec crate instead (#9163) · eb6d651f
      Igor Matuszewski authored
      
      
      * Update impl-codec to use new upstream MaxEncodedLen trait
      
      * Adapt crates to use the updated codec crate for `MaxEncodedLen`
      
      * Remove max-encoded-len crate altogether
      
      * Fix test compilation in `pallet-proxy`
      
      * reorganize import (#9186)
      
      * Fix remaining `MaxEncodedLen` imports
      
      * Fix remaining old usages of max-encoded-len crate
      
      * Fix UI test
      
      * Manually depend on new impl-codec to fix Polkadot companion build
      
      * Use newly released primitive-types v0.9.1 that has new codec impls
      
      * Make sure codec deps are up-to-date in crates that use them
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      eb6d651f
    • ordian's avatar
      bump a bunch of deps in parity-common (#9263) · b61dd3e8
      ordian authored
      * bump a bunch of deps in parity-common
      
      * primitive-types 0.10.0
      
      * update Cargo.lock
      
      * downgrade a few more
      
      * this is unlikely to help
      
      * try something
      
      * Checkmate, Atheists!
      b61dd3e8