Skip to content
  1. May 23, 2021
  2. May 12, 2021
  3. May 10, 2021
    • Shaun Wang's avatar
      Add arithmetic dispatch errors. (#8726) · 2a38b230
      Shaun Wang authored
      * Add arithmetic dispatch errors.
      
      * Replace custom overflow errors.
      
      * Replace custom underflow and division by zero errors.
      
      * Replace overflow/underflow in token error.
      
      * Add token and arithmetic errors in dispatch error equality test.
      
      * Trigger CI.
      2a38b230
  4. Apr 16, 2021
    • Bastian Köcher's avatar
      Remove `serde` requirement from FRAME macros (#8628) · c8136bd1
      Bastian Köcher authored
      
      
      * Remove `serde` requirement from FRAME macros
      
      Currently there is some implicit requirement on `serde` being present in
      the `Cargo.toml` of a pallet when `GenesisConfig` is used. This pr
      removes this requirement by using the serde attribute `serde(crate = "..")`.
      
      * build a unique reexport of serde in impl_opaque_keys, by abusing paste doc concatenation
      
      * Optimize
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      c8136bd1
  5. Apr 10, 2021
  6. Apr 07, 2021
  7. Apr 01, 2021
  8. Mar 28, 2021
    • Gavin Wood's avatar
      Implement `fungible::*` for Balances (#8454) · d0eee4f1
      Gavin Wood authored
      
      
      * Reservable, Transferrable Fungible(s), plus adapters.
      
      * Repot into new dir
      
      * Imbalances for Fungibles
      
      * Repot and balanced fungible.
      
      * Clean up names and bridge-over Imbalanced.
      
      * Repot frame_support::trait. Finally.
      
      * Make build.
      
      * Docs
      
      * Good errors
      
      * Fix tests. Implement fungible::Inspect for Balances.
      
      * Implement additional traits for Balances.
      
      * Revert UI test "fixes"
      
      * Fix UI error
      
      * Fix UI test
      
      * More work on fungibles
      
      * Fixes
      
      * More work.
      
      * Update lock
      
      * Make fungible::reserved work for Balances
      
      * Introduce Freezer to Assets, ready for a reserve & locks pallet. Some renaming/refactoring.
      
      * Cleanup errors
      
      * Imbalances working with Assets
      
      * Test for freezer.
      
      * Grumbles
      
      * Grumbles
      
      * Fixes
      
      * Extra "side-car" data for a user's asset balance.
      
      * Fix
      
      * Fix test
      
      * Fixes
      
      * Line lengths
      
      * Comments
      
      * Update frame/assets/src/tests.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungibles.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/support/src/traits/tokens/fungible.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Introduce `transfer_reserved`
      
      * Rename fungible Reserve -> Hold, add flag structs
      
      * Avoid the `melted` API - its too complex and gives little help
      
      * Repot Assets pallet
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      d0eee4f1
  9. Mar 27, 2021
    • Gavin Wood's avatar
      Repot frame_support::traits; introduce some new currency stuff (#8435) · ff5765ea
      Gavin Wood authored
      
      
      * Reservable, Transferrable Fungible(s), plus adapters.
      
      * Repot into new dir
      
      * Imbalances for Fungibles
      
      * Repot and balanced fungible.
      
      * Clean up names and bridge-over Imbalanced.
      
      * Repot frame_support::trait. Finally.
      
      * Make build.
      
      * Docs
      
      * Good errors
      
      * Fix tests. Implement fungible::Inspect for Balances.
      
      * Implement additional traits for Balances.
      
      * Revert UI test "fixes"
      
      * Fix UI error
      
      * Fix UI test
      
      * Fixes
      
      * Update lock
      
      * Grumbles
      
      * Grumbles
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      ff5765ea
  10. Mar 24, 2021
  11. Mar 18, 2021
    • Shaun Wang's avatar
      Replace 'Module' with 'Pallet' in construct_runtime macro (#8372) · 2e552244
      Shaun Wang authored
      * Use 'Pallet' struct in construct_runtime.
      
      * Fix genesis and metadata macro.
      
      * Fix 'Pallet' type alias.
      
      * Replace 'Module' with 'Pallet' for all construct_runtime use cases.
      
      * Replace more deprecated 'Module' struct.
      
      * Bring back AllModules and AllPalletsWithSystem type, but deprecate them.
      
      * Replace deprecated 'Module' struct from merge master.
      
      * Minor fix.
      
      * Fix UI tests.
      
      * Revert UI override in derive_no_bound.
      
      * Fix more deprecated 'Module' use from master branch.
      
      * Fix more deprecated 'Module' use from master branch.
      2e552244
  12. Mar 01, 2021
    • Bastian Köcher's avatar
      Init `RuntimeLogger` automatically for each runtime api call (#8128) · 68390d40
      Bastian Köcher authored
      
      
      * Init `RuntimeLogger` automatically for each runtime api call
      
      This pr change the runtime api in such a way to always and automatically
      enable the `RuntimeLogger`. This enables the user to use `log` or
      `tracing` from inside the runtime to create log messages. As logging
      introduces some extra code and especially increases the size of the wasm
      blob. It is advised to disable all logging completely with
      `sp-api/disable-logging` when doing the wasm builds for the on-chain
      wasm runtime.
      
      Besides these changes, the pr also brings most of the logging found in
      frame to the same format "runtime::*".
      
      * Update frame/im-online/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update test-utils/runtime/Cargo.toml
      
      * Fix test
      
      * Don't use tracing in the runtime, as we don't support it :D
      
      * Fixes
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      68390d40
  13. Feb 25, 2021
  14. Feb 22, 2021
  15. Feb 16, 2021
    • Gavin Wood's avatar
      Move dust collection hook to outside of account mutate (#8087) · ed9c08dd
      Gavin Wood authored
      
      
      * Move dust collection hook to outside of account mutate
      
      * Fix dust cleanup in nested mutates.
      
      * Fixes
      
      * Fixes
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * dust removal reentrancy test case integration (#8133)
      
      * dust removal reentrancy test case integration
      
      * Update frame/balances/src/tests_reentrancy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/balances/src/tests_reentrancy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/balances/src/tests_reentrancy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/balances/src/tests_reentrancy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update frame/balances/src/tests_reentrancy.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * dust removal reentrancy test case integration | removed dependency on tests.rs
      
      * dust removal reentrancy test case integration | formatt correction
      
      * dust removal reentrancy test case integration | formatt correction
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarRK <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      ed9c08dd
    • Peter Goodspeed-Niklaus's avatar
      Create a macro which automates creation of benchmark test suites. (#8104) · 44d5aba8
      Peter Goodspeed-Niklaus authored
      
      
      * Create a macro which automates creation of benchmark test suites.
      
      * bump impl_version
      
      * allow unused on test_bench_by_name
      
      * use proper doctest ignore attribute
      
      * Explicitly hand the Module to the test suite
      
      Much better practice than depending on it showing up implicitly in
      the namespace.
      
      * explicitly import what we need into `mod tests`
      
      * bench_module is `ident` not `tt`
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * allow end users to specify arguments for new_test_ext
      
      This turned out to be surprisingly easy. On reflection, it turns out
      that of course the compiler can't eagerly evaluate the function call,
      but needs to paste it in everywhere desired.
      
      * enable explicitly specifying the path to the benchmarks invocation
      
      also enable optional trailing commas
      
      * Revert "bump impl_version"
      
      This reverts commit 0209e4de33fd43873f8cfc6875815d0fd6151e63.
      
      * list failing benchmark tests and the errors which caused the failure
      
      * harden benchmark tests against internal panics
      
      * suppress warning about ignored profiles
      
      unfortunately, setting the profile here doesn't do anything; we'd
      need to set it in every leaf package anyway. However, as this was
      just making the default explicit anyway, I think it's safe enough
      to remove entirely.
      
      * impl_benchmark_test_suite for assets
      
      * impl_benchmark_test_suite for balances
      
      * impl_benchmark_test_suite for bounties
      
      * impl_benchmark_test_suite for Collective
      
      * impl_benchmark_test_suite for Contracts
      
      * impl_benchmark_test_suite for Democracy
      
      * don't impl_benchmark_test_suite for Elections-Phragmen
      
      * impl_benchmark_test_suite for Identity
      
      Note that Identity tests currently fail. They failed in an identical
      way before this change, so as far as I'm concerned, the status quo is
      good enough for now.
      
      * impl_benchmark_test_suite for ImOnline
      
      * impl_benchmark_test_suite for indices
      
      For this crate also, the test suite fails identically with and without
      this change, so we can say that this change is not the cause of the
      tests' failure to compile.
      
      * impl_benchmark_test_suite for lottery
      
      * impl_benchmark_test_suite for merkle-mountain-range
      
      * impl_benchmark_test_suite for Multisig
      
      These tests fail identically with and without the change, so the change
      seems unlikely to be the origin of the failures.
      
      * impl_benchmark_test_suite for offences
      
      * impl_benchmark_test_suite for Proxy
      
      Fails identically with and without this change.
      
      * impl_benchmark_test_suite for scheduler
      
      * impl_benchmark_test_suite for session
      
      It turns out to be important to be able to exclude items marked
      `#[extra]` sometimes. Who knew?
      
      * impl_benchmark_test_suite for staking
      
      * impl_benchmark_test_suite for system
      
      * impl_benchmark_test_suite for timestamp
      
      * impl_benchmark_test_suite for tips
      
      * impl_benchmark_test_suite for treasury
      
      * impl_benchmark_test_suite for utility
      
      Note that benchmark tests fail identically before and after this change.
      
      * impl_benchmark_test_suite for vesting
      
      * fix wrong module name in impl_benchmark_test_suite in Offences
      
      * address line length nits
      
      * enable optional keyword argument: exec_name
      
      Took a _lot_ of macro-wrangling to get the functionality that I want,
      but now you have the option to pass in
      
      ```rust
      impl_benchmark_test_suite!(
      	Elections,
      	crate::tests::ExtBuilder::default().desired_members(13).desired_runners_up(7),
      	crate::tests::Test,
      	exec_name = build_and_execute,
      );
      ```
      
      and have it expand out properly. A selected fragment of the expansion:
      
      ```rust
              fn test_benchmarks() {
                  crate::tests::ExtBuilder::default()
                      .desired_members(13)
                      .desired_runners_up(7)
                      .build_and_execute(|| {
      ```
      
      * get rid of dead code
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      44d5aba8
  16. Feb 10, 2021
    • Benjamin Kampmann's avatar
      Releasing 3.0 (#8098) · 6a964c5d
      Benjamin Kampmann authored
      * bumping version for next release
      * add changelog
      * add guide
      6a964c5d
    • Andrew Jones's avatar
      Migrate pallet-balances to pallet attribute macro (#7936) · 8481e9a3
      Andrew Jones authored
      
      
      * Initial migration of balances pallet
      
      * Fix some errors
      
      * Remove unused imports
      
      * Formatting and removing some todos
      
      * Delete Subtrait
      
      * Add genesis builder impls for tests
      
      * Fix GenesisConfig impl
      
      * Make set_balance visible to tests, rename RawEvent to Event
      
      * Fix tests with Event rename etc.
      
      * More test RawEvent renames
      
      * Even more RawEvent renames
      
      * Rename module to pallet in comments
      
      * Add PalletInfo impl to avid storage collision, fixes tests
      
      * Apply review suggestion: remove trailing a
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      * BalancesEvent alias
      
      * Remove BalancesEvent alias
      
      * Review suggestion: remove redundant comment
      
      * Apply review suggestion: make vis super
      
      * Fis doc links
      
      * Add RawEvent alias
      
      * Add missing Instance parameter to deprecated RawEvent alias
      
      * Fix RawEvent deprecation warnings
      
      Co-authored-by: default avatarDavid <[email protected]>
      8481e9a3
  17. Jan 29, 2021
  18. Jan 25, 2021
  19. Jan 20, 2021
    • Andrew Jones's avatar
      Migrate frame-system to pallet attribute macro (#7898) · 71ef82af
      Andrew Jones authored
      
      
      * PRINT_PALLET_UPGRADE=1 cargo check -p frame-system
      
      * Copy attributes, imports, mods and type defs
      
      * Copy Config trait
      
      * Annotate constants
      
      * Tabify
      
      * Migrate hooks
      
      * Upgrade template rename interface to hooks
      
      * Migrate pallet call
      
      * Migrate Event
      
      * Migrate Error
      
      * Migrate Origin
      
      * Remove optional validate_unsigned
      
      * Remove remaining TODO_MAYBE_WHERE_CLAUSE
      
      * Overwrite original lib.rs with migrated lib2.rs.
      
      * Add required Event IsType constraint
      
      * Add disable supertrait check
      
      * Fix leftover Trait trait
      
      * Add missing pallet prefix for weight attributes
      
      * Add missing Error type parameter
      
      * Add missing Hooks type parameter
      
      * Private call visibility, restore original helper types and helpers etc
      
      * Fix hooks type parameter
      
      * Rename RawEvent to Event
      
      * Add missing storage type annotations
      
      * Remove unused imports
      
      * Add GenesisConfig helpers for compat
      
      * Fix unused import warnings
      
      * Update frame/support/procedural/src/storage/print_pallet_upgrade.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Fix test errors and warnings
      
      * Fix remaining errors and warnings
      
      * Apply review suggestion: fix formatting
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: annotate BlockLength as constant
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: add triling comma
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: add triling comma
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: add trailing comma
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply review suggestion: fix storage type indentation
      
      * Apply review suggestion: remove redundant Origin type alias
      
      * Add missing codec derives for BlockLength
      
      * Restore module docs
      
      * Module -> Pallet renamel
      
      * Revert "Update frame/support/procedural/src/storage/print_pallet_upgrade.rs"
      
      This reverts commit d2a2d5b6
      
      * Apply review suggestion: merge crate imports
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Revert "Upgrade template rename interface to hooks"
      
      This reverts commit 306f0239
      
      * Single line import
      
      * Refactor generated genesis build
      
      * Import sp_io::storage
      
      * Revert previous, fully qualify sp_io::storage
      
      * Fix ui tests
      
      * Fix errors after merge, missing changes
      
      * Set UpgradedToDualRefCount to true in genesis build
      
      * Annotated Runtime version with constant, exposing it via metadata
      
      * Add metadata attribute
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      71ef82af
  20. Jan 16, 2021
  21. Jan 12, 2021
  22. Jan 11, 2021
    • Igor Matuszewski's avatar
      Merge 2.0.1 backport branch into mainline master (#7842) · 028f3d26
      Igor Matuszewski authored
      * Backport paritytech/substrate#7381
      
      * Bring back genesis storage build in aura/timestamp
      
      To not change spec version, see
      https://github.com/paritytech/substrate/pull/7686#discussion_r540032743
      
      * Backport paritytech/substrate#7238
      
      * Backport paritytech/substrate#7395
      
      * Bump impl_version
      
      * Fix UI tests and bump trybuild dep
      
      See https://github.com/rust-lang/rust/pull/73996
      
      Backports:
      https://github.com/paritytech/substrate/pull/7764
      https://github.com/paritytech/substrate/pull/7656
      
      * Partially backport paritytech/substrate#7838
      
      * Release frame-support with a dep compilation fix
      
      * Bump patch level for remaining crates
      
      This is done because at the time of writing cargo-unleash does not fully
      support partial workspace publishing and mixes both local and crates.io
      versions of the packages, leading to errors in the release check workflow.
      
      * Backport paritytech/substrate#7854
      
      ...to fix compilation error when usi...
      028f3d26
  23. Jan 07, 2021
    • Shawn Tabrizi's avatar
      Better Handle Dead Accounts in Balances (#7843) · 93ecff9b
      Shawn Tabrizi authored
      
      
      * Don't mutate storage when account is dead and should stay dead
      
      * 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
      
      * more concrete storage noop
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      93ecff9b
  24. Jan 06, 2021
  25. Jan 04, 2021
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  26. Dec 30, 2020
  27. Dec 15, 2020
  28. Dec 08, 2020
    • Tomasz Drwięga's avatar
      Streamline frame_system weight parametrization (#6629) · 39a776cd
      Tomasz Drwięga authored
      
      
      * Basic weights builder.
      
      * Fixing WiP
      
      * Make the tests work.
      
      * Fix weights in node/runtime.
      
      * WiP.
      
      * Update pallets with new weights parameters.
      
      * Validate returns a Result now.
      
      * Count mandatory weight separately.
      
      * DRY
      
      * BREAKING: Updating state root, because of the left-over weight-tracking stuff
      
      * Update tests affected by Mandatory tracking.
      
      * Fixing tests.
      
      * Fix defaults for simple_max
      
      * Update frame/system/src/weights.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Rework the API a bit.
      
      * Fix compilation & tests.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add extra docs & rename few things.
      
      * Fix whitespace in ASCII art.
      
      * Update frame/system/src/limits.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix max_extrinsic calculations.
      
      * Fix conflicts.
      
      * Fix compilation.
      
      * Fix new code.
      
      * re-remove generic asset
      
      * Fix usage.
      
      * Update state root.
      
      * Update proxy.
      
      * Fix tests.
      
      * Move weights validity to integrity_test
      
      * Remove redundant BlockWeights.
      
      * Add all/non_mandatory comment
      
      * Add test.
      
      * Remove fn block_weights
      
      * Make the macro prettier.
      
      * Fix some docs.
      
      * Make max_total behave more predictabily.
      
      * Add BlockWeights to metadata.
      
      * fix balances test
      
      * Fix utility test.
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      39a776cd
  29. Dec 04, 2020
    • Gavin Wood's avatar
      Features needed for reserve-backed stablecoins (#7152) · 80af50b8
      Gavin Wood authored
      
      
      * Features needed for reserve-backed stablecoins
      
      * Builds & tests.
      
      * Double map for an efficient destroy.
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * ED/zombie-count/refs
      
      Feature: ED/minimum balance enforcement
      Feature: enforce zombie count
      Feature: allow system-alive accounts to exist, but add reference
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * Update frame/assets/Cargo.toml
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      
      * Docs
      
      * Some tests
      
      * More tests
      
      * Allow for max_zombies to be adjusted
      
      * Test for set_max_zombies
      
      * Tests and a couple of fixes
      
      * First few benchmarks
      
      * Benchmarks.
      
      * Fix error message in test
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * Fixes
      
      * Update default weight
      
      * Add proper verification to benchmarks
      
      * minor improvements to tests
      
      * Update frame/assets/src/benchmarking.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix
      
      * New weights system
      
      * fix compile
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      80af50b8
  30. Nov 30, 2020
  31. Nov 20, 2020
  32. Nov 09, 2020
  33. Nov 05, 2020