Skip to content
  1. Jun 06, 2023
  2. Jun 05, 2023
    • Sam Johnson's avatar
      upgrade macro_magic to 0.3.5 (#14303) · 35cc4162
      Sam Johnson authored
      35cc4162
    • Liam Aharon's avatar
      migration(tips): unreserve deposits (#14241) · c6287425
      Liam Aharon authored
      * unreserve all tip funds migration
      
      * improve test
      
      * fix comment
      
      * implement weights
      
      * saturating_accrue
      
      * remove unnecessary collect
      
      * prefer ensure
      
      * use assert
      
      * use saturating_add
      
      * use saturating_accrue
      
      * test pre_upgrade and post_upgrade
      
      * remove pallet_treasury bound
      
      * resolve pr comments
      
      * rename migration
      
      * kick ci
      
      * kick ci
      c6287425
  3. Jun 04, 2023
  4. Jun 02, 2023
  5. Jun 01, 2023
  6. May 31, 2023
  7. May 30, 2023
    • Kian Paimani's avatar
      Default Pallet Config Trait / derive_impl (#13454) · 263a5d6c
      Kian Paimani authored
      
      
      * first draft, probably won't work
      
      * first draft, probably won't work
      
      * good progress..
      
      * good milestone, still a lot to do.
      
      * EVERYTHING WORKS
      
      * Update frame/support/procedural/src/derive_impl.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update frame/support/procedural/src/derive_impl.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * clean up + cargo fmt
      
      * import tokens WIP
      
      * export_tokens working with impl Trait
      
      * WIP / notes
      
      * use macro_magic 0.2.0's export_tokens to access foreign items
      
      * token importing working properly using macro_magic 0.2.5
      
      * combine_impls almost working
      
      * successfully get foreign path via macro_magic 0.2.6
      
      * combine_impls using implementing_type generics
      
      * working + clean up
      
      * more clean up
      
      * decrease rightwards drift and add docs to combine_impls
      
      * add support for macros to impl_item_ident in case we hit that
      
      * add docs for impl_item_ident method
      
      * fix no_std issues
      
      * re-export of macro_magic working in pallets 🎉
      
      * clean up + fully resolve no_std issue with macro_magic with v0.2.11
      
      * remove trait item code for different trait item types since this
      is now handled directly by combine_impls
      
      * clean up
      
      * remove dev comments
      
      * only generate default trait if #[pallet::default_trait] is attached
      
      * authorship and most other pallets now compiling
      
      * compiling 🎉
      
      * add check for more than two pallet attributes on Config trait
      
      * remove unused import in nomination-pool
      
      * clean up debug code
      
      * upgrade to macro_magic v0.2.12
      
      * add neater #[register_default_config(SomeIdent)] macro
      
      * really just a thin wrapper around #[export_tokens]
      
      * upgrade to macro_magic 0.3.1
      
      * rewrite parsing to be compatible with syn 2.x, compiling 🎉
      
      
      
      * remove unused keywords
      
      * macro stubs for the new pallet:: macros, preliminary docs
      
      * upgrade to macro_magic v0.3.2
      
      * rename register_default_config => register_default_impl
      
      * bump to macro_magic v0.3.3
      
      * custom disambiguation_path working as 2nd arg to derive_impl
      
      * overhaul docs
      
      * fixes, ident-style paths shortcut working
      
      * remove ident-style shortcut because it makes testing difficult
      
      * add passing UI tests for derive_impl
      
      * switch to `ForeignPath as DisambiguationPath` syntax + update docs
      
      * add UI test for bad foreign path
      
      * add UI test for bad disambiguation path
      
      * add UI test for missing disambiguation path
      
      * add UI test for attached to non impl
      
      * fix derive_impl_attr_args_parsing test
      
      * move tests to bottom
      
      * fix nightly issue
      
      * add doc notes on importing/re-exporting
      
      * remove explicit use of macro_magic::use_attr
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * use explicit macro_magic::use_attr
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded {}
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove unneeded collect
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * add docs for TestDefaultConfig
      
      * remove unneeded `#[export_tokens]` on `DefaultConfig`
      
      * add docs for auto-generated `DefaultConfig`
      
      * no need to clone
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * clean up combine_impls + compiling again
      
      * remove unused dependency
      
      * simplify struct definition
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * fix register_default_impl docs
      
      * reduce rightward drift / refactor
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix derive_impl after keith's changes
      
      * simplify disambiguation_path calculation
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * compiling again
      
      * simplify parsing of trait item
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * rename preludes => prelude
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix other places where we used preludes instead of prelude
      
      * fix indents
      
      * simplify PalletAttr parsing
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * go back to having no_default and constant as keywords
      
      * make it more clear that disambiguation_path is optional
      
      * make default_trait_items just a Vec instead of Option<Vec>
      
      * rename foreign_path => default_impl_path within substrate
      
      * fix docs
      
      * Change {} to ;
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * highlight full end-to-end example with link
      
      * add pallet-default-config-example, start by copying dev mode code
      
      * update dev-mode specific docs
      
      * use Person and Points instead of Dummy and Bar
      
      * add docs to example pallet
      
      * revert changes to pallets other than the default config example
      
      * fix outdated references to basic example pallet
      
      * re-order docs to be a bit more clear
      
      * better errors for extra attributes
      
      * add UI tests for duplicate/extra attributes on trait items
      
      * change `#[pallet::default_config]` to option on `#[pallet::config()]`
      
      * update UI tests
      * add UI test covering missing `#[pallet::config(with_default)]` when
        `#[pallet::no_default]` is used
      
      * add note about new optional conventions
      
      * improve docs about `DefaultConfig` and link to these from a few places
      
      * fix doc comment
      
      * fix old comment referencing `pallet::default_config`
      
      * use u32 instead of u64 for block number
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use () instead of u32 for `AccountData`
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * use ConstU32<10> for BlockHashCount instead of ConstU64<10>
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * people are not dummies
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      
      * fix wording
      
      Co-authored-by: default avatarJust van Stam <[email protected]>
      
      * Person => People and compiling again
      
      * add docs for `prelude` module in frame_system
      
      * update Cargo.lock
      
      * cleaner example
      
      * tweaks
      
      * update docs more
      
      * update docs more
      
      * update docs more
      
      * update docs more
      
      * fix ui tests
      
      * err
      
      * Update frame/support/test/tests/pallet_ui.rs
      
      * update ui tests
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarJust van Stam <[email protected]>
      263a5d6c
  8. May 29, 2023
  9. May 27, 2023
  10. May 26, 2023
    • juangirini's avatar
      Soft deprecate GenesisConfig (#14210) · 34b2a56a
      juangirini authored
      * soft deprecate genesisconfig
      
      * temporarily add a deprecation attr
      
      * update tests
      
      * update mocks
      
      * update genesis config
      
      * update genesis config
      
      * update genesis config
      
      * update genesis config
      
      * remove deprecation warning
      
      * update deprecation comment
      
      ---------
      
      Co-authored-by: parity-processbot <>
      34b2a56a
    • Vijayendra Gaur's avatar
      Add remove_proxies API for pallet-proxies #7557 (#12714) · 64aea5e7
      Vijayendra Gaur authored
      
      
      * Open
      Add remove_proxies API for pallet-proxies
      #7557
      
      * added remove_all_proxy_delegates method
      
      * remove all proxy implementation
      
      * remove_all_proxy_delegate
      
      * reverted changes
      
      * fixed 7557
      
      * fixed warnings
      
      * removed println! causing build failure on ci/cd pipelines
      
      * incorporated suggested changes
      
      * minor change
      
      * made suggested changes
      
      * method comment
      
      * Update frame/proxy/src/lib.rs
      
      ---------
      
      Co-authored-by: default avatarJuan <[email protected]>
      Co-authored-by: parity-processbot <>
      64aea5e7
  11. May 25, 2023
    • Michal Kucharczyk's avatar
      frame: GenesisBuild::build allowed in no_std (#14107) · e31a214a
      Michal Kucharczyk authored
      * frame: GenesisBuild::build allowed in no_std
      
      i`GenesisBuild::build` function will be required for no_std in no native
      runtime world.
      
      `GenesisBuild::build` macro generated function allows to build the runtime
      GenesisConfig assembled from all pallets' GenesisConfigs.
      
      * fixes
      
      * GenesisBuild::build avaiable in no-std
      
      - #[cfg(feature = "std")] is not longer added to GenesisBuild implementation.
      
      * system: hash69 available for no-std
      
      * elections-phragmen: panic message fixed for no_std
      
      * frame::suport: doc updated
      
      * test-runtime: default for GenesisConfig
      
      * frame::test-pallet: serde/std added to std feature deps
      
      * Cargo.toml: deps sorted
      
      * Cargo.lock update
      
      cargo update -p frame-support-test-pallet -p frame-support-test
      
      * frame ui tests: cleanup
      
      ---------
      
      Co-authored-by: parity-processbot <>
      e31a214a
    • Squirrel's avatar
      Asset Conversion pallet (#12984) · ef1e4e8b
      Squirrel authored
      
      
      * Add pallet dex
      
      * Fmt
      
      * Add RPC endpoint
      
      * Fix RPC
      
      * Fix the build
      
      * Some more fixes
      
      * Add a method to topup pallet's account
      
      * Add support for multi-currency into Uniques
      
      * Fix the build
      
      * Add [transactional] + setup() + fix balances
      
      * Improve tests
      
      * Fix price quotation
      
      * Code clean up
      
      * Validate swaps
      
      * Fmt
      
      * Update README
      
      * add test
      
      * mint LP assets in a different instance
      
      * remove transactional as now the default
      
      AssetsLocal renamed to Assets
      
      * merge master
      
      * Revert "Merge master"
      
      * fix tests post merge.
      
      * attempt to set create origin
      
      * Internally allocate lp asset id.
      
      * Simplify
      
      * Bump to be in line
      
      * additional bumps to make compile
      
      * fix compile
      
      * less bounds
      
      * use fungible crates
      
      * multiasset enum
      
      * only allow native currency pairs
      
      * added slippage tests
      
      * transfer into separate method
      
      (Also fee not set in 2 places now.)
      
      Added test where lp and user are different users.
      
      * Add benchmarks + weights
      
      * Typos
      
      * Clean up
      
      * More tests,
      
      split error into two because it wasn't clear which parameter.
      
      renamed liquidity to lp_tokens_minted or lp_tokens_burned in events.
      
      * tighten up naming
      
      * Default, zero, square root traits not needed
      
      Also let's not force people to be compact
      
      * add keep-alive param
      
      * add insufficient liquidity test
      
      * Fix quote() to support u64
      
      * Avoid recording balances twice
      
      * cargo fmt
      
      * Didn't mean to change error type
      
      * temp
      
      * Less
      
      * Rework get_amount_in/get_amount_out
      
      * Convert other places
      
      * Rework the last piece
      
      * Typo
      
      * Fix benchmarks
      
      * use hash trait
      
      * Extract a native asset check into the runtime setting
      
      * Don't set the metadata
      
      * Remove spec file
      
      * Enable multi-assets swaps by default
      
      * Refactor conversion into u128
      
      * Add path param to swap_token_for_exact_tokens
      
      * Fix typo + a bit of refactoring
      
      * Implement path param for swap_exact_tokens_for_tokens()
      
      * Deref
      
      * Minor fixes
      
      * Add test with sensible scale values
      
      * Use .windows()
      
      * Fix benchmarks
      
      * update docs
      
      * Fix everything :)
      
      * Chore
      
      * Revert
      
      * Chore
      
      * prev way of creating sub accounts lead to collisions
      
      * Update frame/dex/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * Update frame/dex/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * Chore
      
      * Fmt fix on Uniques
      
      * add call_index
      
      bring code up to date with latest master
      
      * revert readme changes
      
      * add cr
      
      * revert uniques changes
      
      * reducing noise
      
      * no need for deadline (#12990)
      
      (there's generic transaction deadline functionality already)
      
      * fix kitchen sink (#12991)
      
      * fix kitchen sink
      
      * Only the dex can mint lp_tokens
      
      * add BenchmarkHelper for second instance (#12998)
      
      * update mock to latest master
      
      * less indirections (#13012)
      
      * remove dex PR's custom RPC (#13050)
      
      * As we have state_call we don't need a custom RPC
      
      * fix docs
      
      * no longer a need to upgrade rpc version (#13053)
      
      * add CallbackHadle
      
      * quote bugfix (#13191)
      
      quote was giving same price in both directions as we were inverting needlessly.
      
      * merging in dex specific changes due to pay by dex
      
      * update lock file
      
      * merging in kitchen sink changes
      
      * Add get_reserves() api method
      
      * Partial updating of the benchmarks
      
      * Fix tests
      
      * clippy
      
      * Temp fix weights
      
      * Fix benchmarks
      
      * Add pool setup fee
      
      * Money upfront
      
      * Address some comments
      
      * Use u128 in mock
      
      * Fix benchmarks
      
      * Change error message
      
      * Update comments
      
      * Change error names
      
      * Implement PartialOrd for NativeOrAssetId
      
      * add note
      
      * Update errors
      
      * More tests for assets sorting
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_dex
      
      * Change the way we generate pool accounts
      
      * Improve the liquidity removal method
      
      * Extract MintMinLiquidity to config, rework all tests
      
      * Add comments
      
      * Validate provided amount
      
      * Rename to asset-conversion
      
      * Validate ED
      
      * Improve handling the ED related errors
      
      * typos
      
      * Try to fix benchmarks
      
      * Another try
      
      * Another day, another try
      
      * Fix benchmarks
      
      * Expose fee related params
      
      * Validate token's minimal amount the same way as ED
      
      * fix typo
      
      * Use longer path for swaps in benchmarks
      
      * need to ref sp_std's vec.
      
      * Remove From<u32> requirement when benchmarking
      
      * impl BenchmarkHelper for ()
      
      * only for runtime benchmarks
      
      * MultiLocation: !MaybeDisplay
      
      Looks like we might not need this bound from initial testing.
      
      * Update frame/asset-conversion/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * Update frame/asset-conversion/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * Add documentation links
      
      * add collision test
      
      * Revert "[Enhancement] Throw an error when there are too many pallets (#13763)"
      
      This reverts commit cc3152bc
      
      .
      
      * [Enhancement] Throw an error when there are too many pallets (#13763)
      
      * [Enhancement] Throw an error when there are too many pallets
      
      * fix ui test
      
      * fix PR comments
      
      * Update frame/support/procedural/src/construct_runtime/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/support/procedural/src/construct_runtime/mod.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: command-bot <>
      
      * add benchmark helper
      
      + doc fix
      
      * cargo fmt
      
      * Fix adding liquidity to non-empty pool
      
      * Fix compilation error
      
      * Fix params ordering issue
      
      * additional docs
      
      * The swap path elements should be unique
      
      * Fix account collision
      
      * Validate all the pool in a swap path are unique
      
      * Change the way we add liquidity to empty pools
      
      * Improve docs
      
      * remove unnessisary Display impl
      
      * cargo fmt
      
      * remove unused imports
      
      * Make api consistent
      
      * Chore
      
      * Touch the pool account so it could hold the pair tokens
      
      * Check the balance before touching the pool's account
      
      * Introduce liquidity provision fee
      
      * Touch the pool acc one more time
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Update frame/asset-conversion/README.md
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Use ContainsPair instead of the balance checker
      
      * Remove old Currency trait
      
      * Add liquidity withdrawal fee
      
      * Update docs
      
      * Use 0 withdrawal fee in mock
      
      * Rename vars
      
      * asset id not clone
      
      * fix: shadow var was being used
      
      * correct tests
      
      * fix benches
      
      * merge master
      
      * neater
      
      ---------
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      ef1e4e8b
    • Adrian Catangiu's avatar
      sc-consensus-beefy: graceful support for pallet-beefy reset (#14217) · b907f520
      Adrian Catangiu authored
      
      
      BEEFY consensus can be restarted by resetting "genesisBlock" in
      pallet-beefy, but we don't want to also reset authority set IDs so
      that they are uniquely identified across the entire chain history
      regardless of how many times BEEFY consensus has been reset/restarted.
      
      This is why the client now also accepts initial authority_set_id != 0.
      
      BEEFY client now detects pallet-beefy reset/reinit and errors-out and
      asks for a restart.
      BEEFY client persisted state should be discarded on client restarts
      following pallet-beefy reset/reinit.
      
      End result is BEEFY client/voter can now completely reinitialize using
      "new" on-chain info following pallet-beefy reset/reinit, discarding old state.
      
      Fixes #14203
      Fixes #14204
      
      Signed-off-by: default avataracatangiu <[email protected]>
      b907f520
  12. May 24, 2023
    • Bastian Köcher's avatar
      HoldReason: Improve usage (#13869) · 05da6d8e
      Bastian Köcher authored
      
      
      * HoldReason: Improve usage
      
      `HoldReason` was switched recently to use the `composite_enum` attribute that will merge the enums
      from all pallets in the runtime to `RuntimeHoldReason`. `pallet-nis` was still requiring that the
      variant was passed as constant to call `hold`. The proper implementation is to use the `HoldReason`
      from inside the pallet directly when calling `hold`. This is done by adding a `RuntimeHoldReason` as
      type to the `Config` trait and requiring that `Currency` is using the same reason. Besides that the
      pr changes the name `HoldIdentifier` in `pallet_balances::Config` to `RuntimeHoldReason`.
      
      * Update frame/nis/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Review comment
      
      * Fixes
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      05da6d8e
    • Bastian Köcher's avatar
      pallet-merkle-mountain-range: Remove extra `Hash` type (#14214) · 5bf4ff56
      Bastian Köcher authored
      * pallet-merkle-mountain-range: Remove extra `Hash` type
      
      * FMT
      5bf4ff56
  13. May 23, 2023