Skip to content
  1. May 26, 2023
  2. 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
    • Javier Viola's avatar
      bump zombienet version (#14227) · 2aa863f6
      Javier Viola authored
      Co-authored-by: parity-processbot <>
      2aa863f6
    • 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
    • Aaro Altonen's avatar
      Don't start evicting peers right after `SyncingEngine` is started (#14216) · 7b101536
      Aaro Altonen authored
      * Don't start evicting peers right after `SyncingEngine` is started
      
      Parachain collators may need to wait to receive a relaychain block before
      they can start producing blocks which can cause `SyncingEngine` to
      incorrectly evict them.
      
      When `SyncingEngine` is started, wait 2 minutes before the eviction is
      activated to give collators a chance to produce a block.
      
      * fix doc
      
      * Use `continue` instead of `break`
      
      * Trigger CI
      
      ---------
      
      Co-authored-by: parity-processbot <>
      7b101536
    • 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
    • Davide Galassi's avatar
      Support for `cfg` attributes in host functions definitions (#14189) · 4185a213
      Davide Galassi authored
      
      
      * Support cfg attribute in host functions definitions
      
      * Added test to check feature gated methods are not included
      
      * Versioned conditional compiled host function are forbidden
      
      * Improve runtime-interface macro docs
      
      * Fix doc
      
      * Apply review suggestion
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Better error message
      
      * Rust fmt
      
      * More refinements to the docs
      
      ---------
      
      Co-authored-by: default avatarKoute <[email protected]>
      4185a213
    • zdave's avatar
      7e8bfb7f
  3. May 24, 2023
  4. May 23, 2023
    • Liam Aharon's avatar
      Migration hook fixes (#14174) · 078699c3
      Liam Aharon authored
      
      
      * fix offences pre_upgrade hook
      
      * identify source of ensure! failures
      
      * stop migration hooks breaking post migration
      
      * add childbounties storage version
      
      * init child bounties version to zero
      
      * Update frame/child-bounties/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * remove redundant preupgrade version checks
      
      * update test
      
      * fix nom pools v3 migration
      
      * kick ci
      
      * kick ci
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      078699c3
    • yjh's avatar
      Remove wasmi backend from sc-executor (#13800) · b6a29484
      yjh authored
      
      
      * refactor: use builder api for all executors
      
      * improve a lot
      
      * remove unused args
      
      * cleanup deps
      
      * fix inconsistency about heap alloc
      
      * add `heap_pages` back to try-runtime
      
      * fix
      
      * chore: reduce duplicated code for sc-service-test
      
      * cleanup code
      
      * fmt
      
      * improve test executor
      
      * improve
      
      * use #[deprecated]
      
      * set runtime_cache_size: 4
      
      * wip
      
      * fix and improve
      
      * remove sc-executor-wasmi deps
      
      * clean up bench and tests
      
      * delete "client/executor/wasmi"
      
      * cleanup
      
      * refactor builder
      
      * fix
      
      * fix bench
      
      * fix tests
      
      * fix warnings
      
      * fix warnings
      
      * fix
      
      * fix
      
      * remove wasmi and fix tests
      
      * unused imports
      
      * improve by suggestions
      
      * Update client/cli/src/arg_enums.rs
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: parity-processbot <>
      b6a29484
    • Squirrel's avatar
      Easy PR: Fix warnings from latest nightly (#14195) · ea21a495
      Squirrel authored
      * unneeded mut
      
      * remove needless borrows
      ea21a495
    • Bastian Köcher's avatar
      TrieCache: Fine tune the size of the local and node cache (#14191) · 0fd0fb44
      Bastian Köcher authored
      First, we increase the size to 10MiB for the local cache. Second, we give the node cache a bigger
      max size than the value cache, see the changed comment on why.
      
      In general this should ensure that we are able to cache the `:code` and not directly throw it out of
      the cache because it is too big (which currently happens when the size of the runtime > 2MiB). In
      the future this should be improved to ensure that certain values are not removed from the cache at
      all, like `:code`.
      0fd0fb44
    • dependabot[bot]'s avatar
      Bump syn from 2.0.15 to 2.0.16 (#14196) · acadc6d1
      dependabot[bot] authored
      
      
      Bumps [syn](https://github.com/dtolnay/syn) from 2.0.15 to 2.0.16.
      - [Release notes](https://github.com/dtolnay/syn/releases)
      - [Commits](https://github.com/dtolnay/syn/compare/2.0.15...2.0.16)
      
      ---
      updated-dependencies:
      - dependency-name: syn
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      acadc6d1
    • Ignacio Palacios's avatar
      Add genesis config to Glutton pallet (#14188) · 0cf9f3b4
      Ignacio Palacios authored
      
      
      * glutton gensis config added
      
      * Glutton pallet updates (#14192)
      
      * Add admin origin and other fixes
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Remove magic number
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Typo
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * fix genesis_build
      
      * Fix docs
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix kitchensink runtime
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * fix twox_256
      
      * fmt
      
      * twox_256 clean
      
      * nitpick
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      0cf9f3b4
    • Dmitry Markin's avatar
    • Koute's avatar
      Remove the `Copy` bound on `AssetId` (#14158) · 194c9edd
      Koute authored
      * Remove the `Copy` bound on `AssetId`
      
      * Also relax the `Copy` bound in the assets pallet
      
      * Fix warnings on the newest nightly Rust
      
      * Remove some unnecessary `clone()`s
      
      * Try to satisfy clippy
      
      * Remove some more unnecessary `clone()`s
      
      * Add more `.clone()`s for newly merged code
      
      * Also add `clone()`s in the benchmarks
      
      ---------
      
      Co-authored-by: parity-processbot <>
      194c9edd
    • Gavin Wood's avatar
      Actually respect locks of zero (#14144) · 06865d4c
      Gavin Wood authored
      * Actually thaw when locking zero.
      
      * Fixes
      
      * Just remove the lock if semantically viable
      
      ---------
      
      Co-authored-by: parity-processbot <>
      06865d4c
    • lanaivina's avatar
      NFTs fractionalization (#12565) · 41dbed0b
      lanaivina authored
      
      
      * Copy Uniques into Nfts
      
      * Connect new pallet
      
      * Update weights
      
      * Nfts: Multiple approvals (#12178)
      
      * multiple approvals
      
      * clear
      
      * tests & clean up
      
      * fix in logic & fmt
      
      * fix benchmarks
      
      * deadline
      
      * test deadline
      
      * current_block + deadline
      
      * update ApprovedTransfer event
      
      * benchmark
      
      * docs
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * fmt fix
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * update tests
      
      * anyone can cancel
      
      * Update frame/nfts/src/tests.rs
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * fmt
      
      * fix logic
      
      * unnecessary line
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Update frame/nfts/src/lib.rs
      
      * Update lib.rs
      
      * fmt
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * fmt
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * suggestion
      
      * new line
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fix CI
      
      * Nfts: Fix Auto-Increment (#12223)
      
      * commit
      
      * passing benchmarks
      
      * clean up
      
      * sync
      
      * runtime implementation
      
      * fix
      
      * fmt
      
      * fix benchmark
      
      * cfg
      
      * remove try-increment-id
      
      * remove unused error
      
      * impl Incrementable for unsigned types
      
      * clean up
      
      * fix in tests
      
      * not needed anymore
      
      * Use OptionQuery
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Rename Origin to RuntimeOrigin
      
      * [Uniques V2] Tips (#12168)
      
      * Allow to add tips when buying an NFT
      
      * Chore
      
      * Rework tips feature
      
      * Add weights + benchmarks
      
      * Convert tuple to struct
      
      * Fix benchmark
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Update frame/nfts/src/benchmarking.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix benchmarks
      
      * Revert the bounded_vec![] approach
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * [Uniques V2] Atomic NFTs swap (#12285)
      
      * Atomic NFTs swap
      
      * Fmt
      
      * Fix benchmark
      
      * Rename swap -> atomic_swap
      
      * Update target balance
      
      * Rollback
      
      * Fix
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Make desired item optional
      
      * Apply suggestions
      
      * Update frame/nfts/src/features/atomic_swap.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Rename fields
      
      * Optimisation
      
      * Add a comment
      
      * deadline -> maybe_deadline
      
      * Add docs
      
      * Change comments
      
      * Add price direction field
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Wrap price and direction
      
      * Fix benchmarks
      
      * Use ensure! instead of if {}
      
      * Make duration param mandatory and limit it to MaxDeadlineDuration
      
      * Make the code safer
      
      * Fix clippy
      
      * Chore
      
      * Remove unused vars
      
      * try
      
      * try 2
      
      * try 3
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * [Uniques V2] Feature flags (#12367)
      
      * Basics
      
      * WIP: change the data format
      
      * Refactor
      
      * Remove redundant new() method
      
      * Rename settings
      
      * Enable tests
      
      * Chore
      
      * Change params order
      
      * Delete the config on collection removal
      
      * Chore
      
      * Remove redundant system features
      
      * Rename force_item_status to force_collection_status
      
      * Update node runtime
      
      * Chore
      
      * Remove thaw_collection
      
      * Chore
      
      * Connect collection.is_frozen to config
      
      * Allow to lock the collection in a new way
      
      * Move free_holding into settings
      
      * Connect collection's metadata locker to feature flags
      
      * DRY
      
      * Chore
      
      * Connect pallet level feature flags
      
      * Prepare tests for the new changes
      
      * Implement Item settings
      
      * Allow to lock the metadata or attributes of an item
      
      * Common -> Settings
      
      * Extract settings related code to a separate file
      
      * Move feature flag checks inside the do_* methods
      
      * Split settings.rs into parts
      
      * Extract repeated code into macro
      
      * Extract macros into their own file
      
      * Chore
      
      * Fix traits
      
      * Fix traits
      
      * Test SystemFeatures
      
      * Fix benchmarks
      
      * Add missing benchmark
      
      * Fix node/runtime/lib.rs
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Keep item's config on burn if it's not empty
      
      * Fix the merge artifacts
      
      * Fmt
      
      * Add SystemFeature::NoSwaps check
      
      * Rename SystemFeatures to PalletFeatures
      
      * Rename errors
      
      * Add docs
      
      * Change error message
      
      * Rework pallet features
      
      * Move macros
      
      * Change comments
      
      * Fmt
      
      * Refactor Incrementable
      
      * Use pub(crate) for do_* functions
      
      * Update comments
      
      * Refactor freeze and lock functions
      
      * Rework Collection config and Item confg api
      
      * Chore
      
      * Make clippy happy
      
      * Chore
      
      * Update comment
      
      * RequiredDeposit => DepositRequired
      
      * Address comments
      
      Co-authored-by: command-bot <>
      
      * [Uniques V2] Refactor roles (#12437)
      
      * Basics
      
      * WIP: change the data format
      
      * Refactor
      
      * Remove redundant new() method
      
      * Rename settings
      
      * Enable tests
      
      * Chore
      
      * Change params order
      
      * Delete the config on collection removal
      
      * Chore
      
      * Remove redundant system features
      
      * Rename force_item_status to force_collection_status
      
      * Update node runtime
      
      * Chore
      
      * Remove thaw_collection
      
      * Chore
      
      * Connect collection.is_frozen to config
      
      * Allow to lock the collection in a new way
      
      * Move free_holding into settings
      
      * Connect collection's metadata locker to feature flags
      
      * DRY
      
      * Chore
      
      * Connect pallet level feature flags
      
      * Prepare tests for the new changes
      
      * Implement Item settings
      
      * Allow to lock the metadata or attributes of an item
      
      * Common -> Settings
      
      * Extract settings related code to a separate file
      
      * Move feature flag checks inside the do_* methods
      
      * Split settings.rs into parts
      
      * Extract repeated code into macro
      
      * Extract macros into their own file
      
      * Chore
      
      * Fix traits
      
      * Fix traits
      
      * Test SystemFeatures
      
      * Fix benchmarks
      
      * Add missing benchmark
      
      * Fix node/runtime/lib.rs
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Keep item's config on burn if it's not empty
      
      * Fix the merge artifacts
      
      * Fmt
      
      * Add SystemFeature::NoSwaps check
      
      * Refactor roles structure
      
      * Rename SystemFeatures to PalletFeatures
      
      * Rename errors
      
      * Add docs
      
      * Change error message
      
      * Rework pallet features
      
      * Move macros
      
      * Change comments
      
      * Fmt
      
      * Refactor Incrementable
      
      * Use pub(crate) for do_* functions
      
      * Update comments
      
      * Refactor freeze and lock functions
      
      * Rework Collection config and Item confg api
      
      * Chore
      
      * Make clippy happy
      
      * Chore
      
      * Fix artifacts
      
      * Address comments
      
      * Further refactoring
      
      * Add comments
      
      * Add tests for group_roles_by_account()
      
      * Update frame/nfts/src/impl_nonfungibles.rs
      
      * Add test
      
      * Replace Itertools group_by with a custom implementation
      
      * ItemsNotTransferable => ItemsNonTransferable
      
      * Update frame/nfts/src/features/roles.rs
      
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      
      * Address PR comments
      
      * Add missed comment
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      
      * Fix copy
      
      * Remove storage_prefix
      
      * Remove transactional
      
      * Initial commit SFT pallet.
      
      * Update comment
      
      * [Uniques V2] Minting options (#12483)
      
      * Basics
      
      * WIP: change the data format
      
      * Refactor
      
      * Remove redundant new() method
      
      * Rename settings
      
      * Enable tests
      
      * Chore
      
      * Change params order
      
      * Delete the config on collection removal
      
      * Chore
      
      * Remove redundant system features
      
      * Rename force_item_status to force_collection_status
      
      * Update node runtime
      
      * Chore
      
      * Remove thaw_collection
      
      * Chore
      
      * Connect collection.is_frozen to config
      
      * Allow to lock the collection in a new way
      
      * Move free_holding into settings
      
      * Connect collection's metadata locker to feature flags
      
      * DRY
      
      * Chore
      
      * Connect pallet level feature flags
      
      * Prepare tests for the new changes
      
      * Implement Item settings
      
      * Allow to lock the metadata or attributes of an item
      
      * Common -> Settings
      
      * Extract settings related code to a separate file
      
      * Move feature flag checks inside the do_* methods
      
      * Split settings.rs into parts
      
      * Extract repeated code into macro
      
      * Extract macros into their own file
      
      * Chore
      
      * Fix traits
      
      * Fix traits
      
      * Test SystemFeatures
      
      * Fix benchmarks
      
      * Add missing benchmark
      
      * Fix node/runtime/lib.rs
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Keep item's config on burn if it's not empty
      
      * Fix the merge artifacts
      
      * Fmt
      
      * Add SystemFeature::NoSwaps check
      
      * Rename SystemFeatures to PalletFeatures
      
      * Rename errors
      
      * Add docs
      
      * Change error message
      
      * Change the format of CollectionConfig to store more data
      
      * Move max supply to the CollectionConfig and allow to change it
      
      * Remove ItemConfig from the mint() function and use the one set in mint settings
      
      * Add different mint options
      
      * Allow to change the mint settings
      
      * Add a force_mint() method
      
      * Check mint params
      
      * Some optimisations
      
      * Cover with tests
      
      * Remove merge artifacts
      
      * Chore
      
      * Use the new has_role() method
      
      * Rework item deposits
      
      * More tests
      
      * Refactoring
      
      * Address comments
      
      * Refactor lock_collection()
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Private => Issuer
      
      * Add more tests
      
      * Fix benchmarks
      
      * Add benchmarks for new methods
      
      * [Uniques v2] Refactoring (#12570)
      
      * Move do_set_price() and do_buy_item() to buy_sell.rs
      
      * Move approvals to feature file
      
      * Move metadata to feature files
      
      * Move the rest of methods to feature files
      
      * Remove artifacts
      
      * Split force_collection_status into 2 methods
      
      * Fix benchmarks
      
      * Fix benchmarks
      
      * Update deps
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Rename module to NFT fractionalisation
      
      * Loose coupling for pallet-assets
      
      * cargo fmt
      
      * [Uniques V2] Smart attributes (#12702)
      
      * Basics
      
      * WIP: change the data format
      
      * Refactor
      
      * Remove redundant new() method
      
      * Rename settings
      
      * Enable tests
      
      * Chore
      
      * Change params order
      
      * Delete the config on collection removal
      
      * Chore
      
      * Remove redundant system features
      
      * Rename force_item_status to force_collection_status
      
      * Update node runtime
      
      * Chore
      
      * Remove thaw_collection
      
      * Chore
      
      * Connect collection.is_frozen to config
      
      * Allow to lock the collection in a new way
      
      * Move free_holding into settings
      
      * Connect collection's metadata locker to feature flags
      
      * DRY
      
      * Chore
      
      * Connect pallet level feature flags
      
      * Prepare tests for the new changes
      
      * Implement Item settings
      
      * Allow to lock the metadata or attributes of an item
      
      * Common -> Settings
      
      * Extract settings related code to a separate file
      
      * Move feature flag checks inside the do_* methods
      
      * Split settings.rs into parts
      
      * Extract repeated code into macro
      
      * Extract macros into their own file
      
      * Chore
      
      * Fix traits
      
      * Fix traits
      
      * Test SystemFeatures
      
      * Fix benchmarks
      
      * Add missing benchmark
      
      * Fix node/runtime/lib.rs
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Keep item's config on burn if it's not empty
      
      * Fix the merge artifacts
      
      * Fmt
      
      * Add SystemFeature::NoSwaps check
      
      * Rename SystemFeatures to PalletFeatures
      
      * Rename errors
      
      * Add docs
      
      * Change error message
      
      * Change the format of CollectionConfig to store more data
      
      * Move max supply to the CollectionConfig and allow to change it
      
      * Remove ItemConfig from the mint() function and use the one set in mint settings
      
      * Add different mint options
      
      * Allow to change the mint settings
      
      * Add a force_mint() method
      
      * Check mint params
      
      * Some optimisations
      
      * Cover with tests
      
      * Remove merge artifacts
      
      * Chore
      
      * Use the new has_role() method
      
      * Rework item deposits
      
      * More tests
      
      * Refactoring
      
      * Address comments
      
      * Refactor lock_collection()
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Private => Issuer
      
      * Add more tests
      
      * Fix benchmarks
      
      * Add benchmarks for new methods
      
      * [Uniques v2] Refactoring (#12570)
      
      * Move do_set_price() and do_buy_item() to buy_sell.rs
      
      * Move approvals to feature file
      
      * Move metadata to feature files
      
      * Move the rest of methods to feature files
      
      * Remove artifacts
      
      * Smart attributes
      
      * Split force_collection_status into 2 methods
      
      * Fix benchmarks
      
      * Fix benchmarks
      
      * Update deps
      
      * Fix merge artifact
      
      * Weights + benchmarks + docs
      
      * Change params order
      
      * Chore
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update docs
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Add PalletId
      
      * Chore
      
      * Add tests
      
      * More tests
      
      * Add doc
      
      * Update errors snapshots
      
      * Ensure we track the owner_deposit field correctly
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * [Uniques V2] Final improvements (#12736)
      
      * Use KeyPrefixIterator instead of Box
      
      * Change create_collection()
      
      * Restrict from claiming NFTs twice
      
      * Update Readme
      
      * Remove dead code
      
      * Refactoring
      
      * Update readme
      
      * Fix clippy
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Update docs
      
      * Typo
      
      * Fix benchmarks
      
      * Add more docs
      
      * Replace uniques with nfts, add minted volume storage
      
      * DepositRequired setting should affect only the attributes within the CollectionOwner namespace
      
      * Add unlock functionality
      
      * [NFTs] Implement missed methods to set the attributes from other pallets (#12919)
      
      * Implement missed methods to set the attributes from other pallets
      
      * Revert snapshots
      
      * Update snapshot
      
      * Update snapshot
      
      * Revert snapshot changes
      
      * Update snapshots
      
      * Yet another snapshot update..
      
      * Asset to NFT id storage mutations
      
      * Minor fixes
      
      * Minor comments
      
      * cargo fmt
      
      * Remove benchmarking, unused clone()
      
      * Update frame/support/src/traits/tokens/nonfungible_v2.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/traits/tokens/nonfungible_v2.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/traits/tokens/nonfungible_v2.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/traits/tokens/nonfungibles_v2.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/traits/tokens/nonfungible_v2.rs
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/support/src/traits/tokens/nonfungibles_v2.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Address comments
      
      * [NFTs] Add the new `owner` param to mint() method (#12997)
      
      * Add the new `owner` param to mint() method
      
      * Fmt
      
      * Address comments
      
      * ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
      
      * Fmt
      
      * Update frame/nfts/src/common_functions.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nfts/src/types.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Add call indexes
      
      * Update snapshots
      
      * Refactor nft fractionalisation pallet (#13008)
      
      * Refactoring
      
      * Make it compile
      
      * Add tests
      
      * Rename
      
      * Rework nfts locking
      
      * Update cargo.lock
      
      * Connect the latest changes to the runtime-kitchensink
      
      * Add benchmarks, fix other issues
      
      * Chore
      
      * Chore 2
      
      * Chore 3
      
      * Add runtime-benchmarks
      
      * Rename
      
      * Set metadata
      
      * Make fields public
      
      * Chore
      
      * Created asset shouldn't be sufficient
      
      * Add documentation
      
      * minor edit to docs
      
      * Minor corrections
      
      Co-authored-by: default avatarlana-shanghai <[email protected]>
      
      * fmt
      
      * Add fee reserved before creating an asset
      
      * Use ReservableCurrency for fee deposit
      
      * Improvements
      
      * Revert fmt changes
      
      * A bit more cleanup
      
      * Consistent naming
      
      * Make it more generic
      
      * Leftover
      
      * Use Vec<u8> instead of String
      
      * Update to the latest + improve the Locker trait
      
      * Refactor NFTs locker
      
      * Replace Vec with BoundedVec, add clearer errors
      
      * cargo fmt
      
      * Add README about unlocking NFTs
      
      * add constant definition
      
      * add fortitude & precision to asset related functions
      
      * fix mock and tests
      
      * transfer ExistentialDeposit to pallet if it's balance is below
      
      * Refactoring
      
      * Simplify the locking mechanism
      
      * Use PalletAttributes enum instead of the LOCKED_NFT_KEY
      
      * Fix benchmark
      
      * Add missing licence details
      
      * Update Cargo.toml
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_nft_fractionalization
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update frame/nft-fractionalization/README.md
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: default avatarSergej Sakac <[email protected]>
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      41dbed0b
    • Sergej Sakac's avatar
      BREAKING - Try-runtime: Use proper error types (#13993) · df87bae1
      Sergej Sakac authored
      * Try-state: DispatchResult as return type
      
      * try_state for the rest of the pallets
      
      * pre_upgrade
      
      * post_upgrade
      
      * try_runtime_upgrade
      
      * fixes
      
      * bags-list fix
      
      * fix
      
      * update test
      
      * warning fix
      
      * ...
      
      * final fixes 🤞
      
      
      
      * warning..
      
      * frame-support
      
      * warnings
      
      * Update frame/staking/src/migrations.rs
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      
      * fix
      
      * fix warning
      
      * nit fix
      
      * merge fixes
      
      * small fix
      
      * should be good now
      
      * missed these ones
      
      * introduce TryRuntimeError and TryRuntimeResult
      
      * fixes
      
      * fix
      
      * removed TryRuntimeResult & made some fixes
      
      * fix testsg
      
      * tests passing
      
      * unnecessary imports
      
      * Update frame/assets/src/migration.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      df87bae1
  5. May 22, 2023
  6. May 21, 2023
  7. May 20, 2023
    • Vladimir Pouzanov's avatar
      Update the nix build configuration. (#13706) · 4e892439
      Vladimir Pouzanov authored
      * Update the nix build configuration.
      
      Remove the old shell.nix with some legacy versions pinned and replace it with a flake-based shell. It installs rust via rustup instead of fenix to be more generally compatible with the guidelines.
      
      This also adds the rust-toolchain.toml spec with all the components required for wasm, and everything else to make rust-analyzer & clippy happy.
      
      * Also add the top level flake for hacking on the substrate as whole
      
      * Remove the envrc and ignore it instead.
      
      * Remove the top-level configuration
      
      ---------
      
      Co-authored-by: parity-processbot <>
      4e892439
    • Michal Kucharczyk's avatar
      frame: Enable GenesisConfig in no_std (#14108) · 613420a0
      Michal Kucharczyk authored
      * frame: Default for GenesisConfig in no_std
      
      `Default` for `GenesisConfig` will be required for no_std in no native
      runtime world. It must be possible to instantiate default GenesisConfig
      for pallets and runtime.
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * hash69 in no_std reverted
      
      * derive(DefaultNoBound) for GenesisConfig used when possible
      
      * treasury: derive(Default)
      
      * Cargo.lock update
      
      * genesis_config: compiler error improved
      
      When std feature is not enabled for pallet, the GenesisConfig will be
      defined, but serde::{Serialize,Deserialize} traits will not be
      implemented.
      
      The compiler error indicates the reason of latter errors.
      
      This is temporary and serde traits will be enabled with together with
      `serde` support in frame.
      
      ---------
      
      Co-authored-by: command-bot <>
      613420a0
  8. May 19, 2023
  9. May 18, 2023
    • Michal Kucharczyk's avatar
      Added serde feature to sp-consensus-aura (#14166) · 580efaec
      Michal Kucharczyk authored
      This is followup of #13027.
      
      `Aura` need to enable `serde` feature in dependent crates, otherwise
      test-substrate-runtime compilation fails with the following error if
      `serde` is enabled:
      
      ```
        error: cannot find macro `format` in this scope
          -->
      /home/miszka/parity/10-genesis-config/substrate-master/primitives/consensus/aura/src/lib.rs:50:3
           |
        50 |         app_crypto!(ed25519, AURA);
           |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
           |
           = help: consider importing one of these items:
                   scale_info::prelude::format
                   sp_application_crypto::format
           = note: this error originates in the macro
      `$crate::app_crypto_public_common_if_serde` which comes from the
      expansion of the macro `app_crypto` (in Nightly builds, run with -Z
      macro-backtrace for more info)
      ```
      580efaec
  10. May 17, 2023