Skip to content
  1. May 23, 2023
    • Squirrel's avatar
      Easy PR: Fix warnings from latest nightly (#14195) · ea21a495
      Squirrel authored
      * unneeded mut
      
      * remove needless borrows
      ea21a495
    • 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
    • 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
  2. May 22, 2023
  3. May 21, 2023
  4. May 20, 2023
    • 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
  5. May 19, 2023
  6. May 17, 2023
  7. May 16, 2023
  8. May 15, 2023
  9. May 12, 2023
  10. May 11, 2023
    • Ross Bulat's avatar
      Staking::{bond, set_controller} to set controllers to stash only. (#14039) · 56940bc8
      Ross Bulat authored
      
      
      * update set_controller
      
      * clone
      
      * bond uses `stash`
      
      * remove controller from bond(), chill_other test works
      
      * remove ctlr from testing_utils &  dead ctlr -> dead payee
      
      * mvs controllers to stashes for 3 tests
      
      * migrate mock bond fns & fix 1 test
      
      * mvs controllers to stashes for 7 tests
      
      * mvs controllers to stashes for 9 tests
      
      * remove double_controlling_should_fail
      
      * remove double_staking_should_fail
      
      * mvs controllers to stashes for 10 tests
      
      * mvs controllers to stashes for 2 tests
      
      * remove payout_creates_controller
      
      * mvs controllers to stashes for 27 tests
      
      * remove println!
      
      * fix rewards_should_work
      
      * fix test_payout_stakers
      
      * fix bond benchmark
      
      * clone
      
      * rm unused import
      
      * rm unused var
      
      * rm controller from create_offender
      
      * fix GenesisConfig stakers
      
      * fix controllers in consensus pallets
      
      * fix unqiue controller in chain_spec
      
      * fmt
      
      * fix create_offender
      
      * fix set_controller benchmark
      
      * add TODO
      
      * create_unique_stash_controller
      
      * staking benchmarks working
      
      * fmt
      
      * fix args
      
      * rm println
      
      * import
      
      * import
      
      * fix fast unstake tests
      
      * fix staking-tests-e2e
      
      * fix root-offenses
      
      * fmt
      
      * differentiate controller to stash
      
      * bring back change_controller_works w. unique ctrl
      
      * bring back double_staking_should_fail
      
      * double_controlling_attempt_should_fail
      
      * bring back payout_creates_controller
      
      * add commnet to controller balances
      
      * + set_controller call description
      
      * fmt
      
      * rm clones
      
      * fmt
      
      * clippy fixes
      
      * fmt
      
      * update README
      
      * small fixes
      
      * use controller_to_be_deprecated
      
      * .comment
      
      * comment
      
      * bump zombienet version
      
      * ci
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      56940bc8
    • Falco Hirschenberger's avatar
      Create benchmark for the `system::set_code` instrisic (#13373) · 0eeaf770
      Falco Hirschenberger authored
      
      
      * Still WIP
      
      # Conflicts:
      #	frame/system/src/weights.rs
      
      * Still WIP
      
      * Add benchmark for system::set_code intrinsic
      
      fixes #13192
      
      * Fix format
      
      * Add missing benchmark runtime
      
      * Fix lint warning
      
      * Consume the rest of the block and add test verification after the benchmark
      
      * Rewrite set_code function
      
      * Try to fix benchmarks and tests
      
      * Remove weight tags
      
      * Update frame/system/src/tests.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Register ReadRuntimeVersionExt for benches
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix tests
      
      * Fix deprecations
      
      * Fix deprecations
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev frame_system
      
      * Add update info and remove obsolete complexity comments.
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update frame/system/benchmarking/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update README.md
      
      Just trigger CI rebuild
      
      * Update README.md
      
      Trigger CI
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      0eeaf770
    • Muharem Ismailov's avatar
      Assets: impl ContainsPair for asset and account IDs (#14119) · 05201c40
      Muharem Ismailov authored
      * Assets impl ContainsPair for asset and account IDs
      
      * clap version
      05201c40
    • Doordashcon's avatar
      Benchmark pallet sudo (#13880) · 4795c29e
      Doordashcon authored
      
      
      * set_key
      
      * v2
      
      * update runtime
      
      * cargo fmt
      
      * remove commenting
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_sudo
      
      * impl weights
      
      * sudo & sudo_as
      
      * where
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_sudo
      
      * update weights
      
      * cargo fmt
      
      * Update Cargo.lock
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      4795c29e
  11. May 10, 2023
  12. May 09, 2023
  13. May 08, 2023
    • dependabot[bot]'s avatar
      Bump cfg-expr from 0.10.3 to 0.15.1 (#14092) · a6b61e2d
      dependabot[bot] authored
      
      
      Bumps [cfg-expr](https://github.com/EmbarkStudios/cfg-expr) from 0.10.3 to 0.15.1.
      - [Release notes](https://github.com/EmbarkStudios/cfg-expr/releases)
      - [Changelog](https://github.com/EmbarkStudios/cfg-expr/blob/main/CHANGELOG.md)
      - [Commits](https://github.com/EmbarkStudios/cfg-expr/compare/0.10.3...0.15.1)
      
      ---
      updated-dependencies:
      - dependency-name: cfg-expr
        dependency-type: direct:production
        update-type: version-update:semver-minor
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      a6b61e2d
    • joe petrowski's avatar
      Allow Creation of Asset Accounts That Don't Exist Yet and Add `Blocked` Status (#13843) · be56fd3f
      joe petrowski authored
      
      
      * prevent frozen accounts from receiving assets
      
      * refund deposits correctly
      
      * plus refund_other
      
      * add benchmarks
      
      * start migration work
      
      * docs
      
      * add migration logic
      
      * fix freeze_creating benchmark
      
      * support instanced migrations
      
      * review
      
      * correct deposit refund
      
      * only allow depositor, admin, or account origin to refund deposits
      
      * make sure refund actually removes account
      
      * do refund changes
      
      * Asset's account deposit owner (#13874)
      
      * assets deposit owner
      
      * doc typo
      
      * remove migration
      
      * empty commit
      
      * can transfer to frozen account
      
      * remove allow_burn from refund_other
      
      * storage version back to 1
      
      * update doc
      
      * fix benches
      
      * update docs
      
      * more tests
      
      * Update frame/assets/src/types.rs
      
      * refund updating the reason
      
      * refactor
      
      * separate refund and refund_foreign
      
      * refunds, touch_other, tests
      
      * fixes
      
      * fmt
      
      * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_assets
      
      * tests: asserts asset account counts
      
      * Account touch trait (#14063)
      
      * assets touch trait
      
      * docs
      
      * move touch trait into support/traits
      
      * permissionless flag for do_touch
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * move trait to misc, drop option
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * correct doc
      
      * Update frame/assets/src/functions.rs
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Block asset account (#14070)
      
      * replace is_fronzen flag by status enum
      
      * block asset account
      
      * remove redundant brackets
      
      * fix typo
      
      * fmt
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      
      * rename permissionless to check_depositor
      
      * doc fix
      
      * use account id lookup instead account id
      
      * add benchmark for touch_other
      
      ---------
      
      Co-authored-by: default avatarmuharem <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      be56fd3f
  14. May 05, 2023
    • Bastian Köcher's avatar
      Improve `try-runtime::on_runtime_upgrade` and fix some storage version issues (#14083) · ba2fe5c6
      Bastian Köcher authored
      We now run all `try_on_runtime_upgrade` and collect the errors, instead of bailing on the first
      error. This makes it easier to see directly all the things that are failing instead of fixing one,
      recompiling and then checking the next one.
      
      Then this pr also sets the correct storage version for `pallet-bounties` that was already correctly
      set in the storage with the appropriate migration.
      ba2fe5c6
    • Sasha Gryaznov's avatar
      d2575f0e
    • Mira Ressel's avatar
      Bump ci-linux to rust 1.69 (#14060) · 38cbe023
      Mira Ressel authored
      * Pin ci-linux image for rust 1.69
      
      * Update ui tests for rust 1.69
      
      * Address new rust 1.69 clippy lints
      
      * `derive_hash_xor_eq` has been renamed to `derived_hash_with_manual_eq`
      * The new `extra-unused-type-parameters` complains about a bunch of
        callsites where extraneous type parameters are used for consistency
        with other functions.
      38cbe023
  15. May 04, 2023
    • Bastian Köcher's avatar
      Improve handling of unset `StorageVersion` (#13417) · e2547f50
      Bastian Köcher authored
      
      
      * Improve handling of unset `StorageVersion`
      
      When a user is forgetting to set the storage version in a pallet and calls
      `current_storage_version` to compare it against the `on_chain_storage_version` it will now fail to
      compile the code. Before the pallet macro just returned `StorageVersion::default()` for
      `current_storage_version` leading to potential issues with migrations. Besides that it also checks
      in `post_upgrade` that the pallet storage version was upgraded and thus, no migration was missed.
      
      * Use correct `Cargo.lock`
      
      * Fixes
      
      * Fix test
      
      * Update frame/support/test/tests/pallet.rs
      
      * Ensure we don't set a storage version when the pallet is missing the attribute
      
      * Fix merge conflict
      
      * Update frame/support/procedural/src/pallet/expand/hooks.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Update frame/support/procedural/src/pallet/expand/hooks.rs
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      
      * Fix compilation
      
      * Do not run everything with `try-runtime`
      
      * Fix test
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fix `no-metadata-docs`
      
      ---------
      
      Co-authored-by: default avatarRoman Useinov <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: parity-processbot <>
      e2547f50