Skip to content
  1. Jun 29, 2023
  2. Jun 28, 2023
  3. Jun 27, 2023
    • gupnik's avatar
      [FRAME Core] Adds ability to split a pallet across multiple files (#13950) · 5d877401
      gupnik authored
      
      
      * Initial setup
      
      * Updates macro_magic version and refactors accordingly
      
      * Removes unwrap from macro
      
      * Splits into multiple sections
      
      * Uses call_site to fix macro hygiene issue
      
      * Initial setup
      
      * Removes unnecessary changes
      
      * Moves template palet back
      
      * Updates cargo.lock
      
      * Moves BagsList inside mod
      
      * Comments access to internal functions for now
      
      * Updates tests
      
      * Uncomments code
      
      * Fixes test
      
      * Moves bags-list to separate crate
      
      * Initial setup
      
      * Removes bags-list changes
      
      * Fix structure
      
      * Minor update
      
      * Addresses review comment
      
      * Adds a couple of UI tests. More to be added
      
      * Adds err files
      
      * Adds test for no pallet
      
      * Adds doc
      
      * Updates versions
      
      * Adds benchmarking
      
      * Updates doc link
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Minor update
      
      * Adds missing changes
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/support/procedural/src/lib.rs
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Addresses review comments
      
      * Addresses review comments
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/support/procedural/src/lib.rs
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Update frame/support/procedural/src/lib.rs
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Update frame/support/procedural/src/lib.rs
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Adds UI test for disambiguation
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Makes clippy happy
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Fixes frame support test
      
      * Fixes frame support test
      
      * Split items other than storage
      
      * Updates versions
      
      * Fixes some review comments
      
      * Addresses review comments
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Updates docs
      
      * Adds experimental disclaimer
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/support/test/tests/split_ui/no_section_found.rs
      
      Co-authored-by: default avatarSam Johnson <[email protected]>
      
      * Addresses review comments
      
      * Fixes test
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarcommand-bot <[email protected]>
      Co-authored-by: default avatarSam Johnson <[email protected]>
      5d877401
  4. Jun 25, 2023
  5. Jun 24, 2023
  6. Jun 23, 2023
  7. Jun 22, 2023
  8. Jun 21, 2023
  9. Jun 20, 2023
    • Mira Ressel's avatar
      ci: bump ci image for rust 1.70 (#14399) · 6ea37360
      Mira Ressel authored
      * ci: bump ci image for rust 1.70
      
      * ".git/.scripts/commands/update-ui/update-ui.sh" 1.70
      
      * chore: ignore the new let_with_type_underscore lint
      
      ---------
      
      Co-authored-by: command-bot <>
      6ea37360
  10. Jun 19, 2023
  11. Jun 18, 2023
    • Gavin Wood's avatar
      Society v2 (#11324) · 33a65362
      Gavin Wood authored
      
      
      * New Society
      
      * More logic drafting
      
      * More work
      
      * Building
      
      * Some tests
      
      * Fixes
      
      * Improvements to the voting process
      
      * More tests
      
      * Test number 20
      
      * Tests
      
      * 30 tests
      
      * Another test]
      
      * All tests enabled
      
      * Minor stuff
      
      * generate_storage_alias: Rewrite as proc macro attribute
      
      This rewrites the `generate_storage_alias!` declarative macro as proc-macro attribute. While doing
      this the name is changed to `storage_alias`. The prefix can now also be the name of a pallet. This
      makes storage aliases work in migrations for all kind of chains and not just for the ones that use
      predefined prefixes.
      
      * Maintenance operations don't pay fee
      
      * Fix compilation and FMT
      
      * Moare fixes
      
      * Migrations
      
      * Fix tests and add migration testing
      
      * Introduce lazy-cleanup and avoid unbounded prefix removal
      
      * Fixes
      
      * Fixes
      
      * [WIP][Society] Adding benchmarking to the v2. (#11776)
      
      * [Society] Adding benchmarking to the v2.
      
      * [Society] Code review.
      
      * [Society] Better code.
      
      * Using clear() + clear_prefix() and adding more tests.
      
      * Benchmarking again...
      
      * Fix Cargo
      
      * Fixes
      
      * Fixes
      
      * Spelling
      
      * Fix benchmarks
      
      * Another fix
      
      * Remove println
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarArtur Gontijo <[email protected]>
      33a65362
    • wangjj9219's avatar
      d8b18417
  12. Jun 16, 2023
  13. Jun 14, 2023
  14. Jun 12, 2023
  15. Jun 06, 2023
  16. Jun 05, 2023
  17. Jun 02, 2023
    • PG Herveou's avatar
      frame-support Add translate_next (#14043) · 9dedddaf
      PG Herveou authored
      * Frame Add translate_next
      
      This works similarly to to `translate` but only translate a single entry.
      This function will be useful in the context of multi-block migration.
      
      * Add test
      
      * add None return case
      
      * fixes
      
      * PR comment use `?`
      9dedddaf
  18. Jun 01, 2023
  19. May 31, 2023
  20. 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
  21. May 29, 2023
  22. 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
  23. 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
  24. May 23, 2023