Skip to content
  1. Jul 25, 2023
  2. Jul 19, 2023
    • Kian Paimani's avatar
      add doc-only `substrate` entry point crate (#14581) · 817c97d6
      Kian Paimani authored
      
      
      * add doc-only substrate entry point crate
      
      * document a few more things
      
      * add more
      
      * fix width
      
      * Update primitives/io/src/lib.rs
      
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      
      * add link
      
      * update cargo toml file
      
      * fix sp-io docs
      
      * improve
      
      * small update
      
      * add license
      
      * satisfy license job
      
      * add a line about FRAME
      
      * CI happy now
      
      * make CI more happy
      
      * Let the check run for the whole workspace
      
      * Forward the substrate node again as default run
      
      * update binary names
      
      * upate verison test
      
      * Fix fix fix
      
      * Fix
      
      * rename to substrate-node in more places
      
      * Revert "rename to substrate-node in more places"
      
      This reverts commit 66960f84a1b6f1f7c638b4040e28e9fbabb8adf5.
      
      * fix
      
      * Fix build pipeline
      
      * Fix properly plus add some docs
      
      ---------
      
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      817c97d6
  3. Jul 18, 2023
  4. Jul 17, 2023
  5. Jul 14, 2023
    • juangirini's avatar
      Replace system config `Index` for `Nonce` (#14290) · 6a29a70a
      juangirini authored
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * replace Index by Nonce
      
      * wip
      
      * remove index in lieu of nonce
      
      * wip
      
      * remove accountnonce in lieu of nonce
      
      * add minor improvement
      
      * rebase and merge conflicts
      6a29a70a
  6. Jul 13, 2023
  7. Jul 12, 2023
    • Michal Kucharczyk's avatar
      `GenesisBuild<T,I>` deprecated. `BuildGenesisConfig` added. (#14306) · 87d41d0a
      Michal Kucharczyk authored
      
      
      * frame::support: GenesisConfig types for Runtime enabled
      
      * frame::support: macro generating GenesisBuild::build for RuntimeGenesisConfig
      
      * frame: ambiguity BuildStorage vs GenesisBuild fixed
      
      * fix
      
      * RuntimeGenesisBuild added
      
      * Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
      
      This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293.
      
      * Revert "fix"
      
      This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b.
      
      * Revert "RuntimeGenesisBuild added"
      
      This reverts commit 3c131b618138ced29c01ab8d15d8c6410c9e128b.
      
      * Revert "Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed""
      
      This reverts commit 2b1ecd467231eddec69f8d328039ba48a380da3d.
      
      * Revert "Revert "fix""
      
      This reverts commit fd7fa629adf579d83e30e6ae9fd162637fc45e30.
      
      * Code review suggestions
      
      * frame: BuildGenesisConfig added, BuildGenesis deprecated
      
      * frame: some pallets updated with BuildGenesisConfig
      
      * constuct_runtime: support for BuildGenesisConfig
      
      * frame::support: genesis_build macro supports BuildGenesisConfig
      
      * frame: BuildGenesisConfig added, BuildGenesis deprecated
      
      * Cargo.lock update
      
      * test-runtime: fixes
      
      * Revert "fix"
      
      This reverts commit a2f76dd24e9a16cf9230d45825ed28787211118b.
      
      * Revert "frame: ambiguity BuildStorage vs GenesisBuild fixed"
      
      This reverts commit 950f3d019d0e21c55a739c44cc19cdabd3ff0293.
      
      * self review
      
      * doc fixed
      
      * ui tests fixed
      
      * fmt
      
      * tests fixed
      
      * genesis_build macrto fixed for non-generic GenesisConfig
      
      * BuildGenesisConfig constraints added
      
      * warning fixed
      
      * some duplication removed
      
      * fmt
      
      * fix
      
      * doc tests fix
      
      * doc fix
      
      * cleanup: remove BuildModuleGenesisStorage
      
      * self review comments
      
      * fix
      
      * Update frame/treasury/src/tests.rs
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      
      * Update frame/support/src/traits/hooks.rs
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      
      * doc fix: GenesisBuild exposed
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * frame: more serde(skip) + cleanup
      
      * Update frame/support/src/traits/hooks.rs
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      
      * frame: phantom fields moved to the end of structs
      
      * chain-spec: Default::default cleanup
      
      * test-runtime: phantom at the end
      
      * merge master fixes
      
      * fix
      
      * fix
      
      * fix
      
      * fix
      
      * fix (facepalm)
      
      * Update frame/support/procedural/src/pallet/expand/genesis_build.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * fmt
      
      * fix
      
      * fix
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      87d41d0a
  8. Jul 11, 2023
    • Bastian Köcher's avatar
      Removal of execution strategies (#14387) · 5eb816d7
      Bastian Köcher authored
      
      
      * Start
      
      * More work!
      
      * Moar
      
      * More changes
      
      * More fixes
      
      * More worrk
      
      * More fixes
      
      * More fixes to make it compile
      
      * Adds `NoOffchainStorage`
      
      * Pass the extensions
      
      * Small basti making small progress
      
      * Fix merge errors and remove `ExecutionContext`
      
      * Move registration of `ReadRuntimeVersionExt` to `ExecutionExtension`
      
      Instead of registering `ReadRuntimeVersionExt` in `sp-state-machine` it is moved to
      `ExecutionExtension` which provides the default extensions.
      
      * Fix compilation
      
      * Register the global extensions inside runtime api instance
      
      * Fixes
      
      * Fix `generate_initial_session_keys` by passing the keystore extension
      
      * Fix the grandpa tests
      
      * Fix more tests
      
      * Fix more tests
      
      * Don't set any heap pages if there isn't an override
      
      * Fix small fallout
      
      * FMT
      
      * Fix tests
      
      * More tests
      
      * Offchain worker custom extensions
      
      * More fixes
      
      * Make offchain tx pool creation reusable
      
      Introduces an `OffchainTransactionPoolFactory` for creating offchain transactions pools that can be
      registered in the runtime externalities context. This factory will be required for a later pr to
      make the creation of offchain transaction pools easier.
      
      * Fixes
      
      * Fixes
      
      * Set offchain transaction pool in BABE before using it in the runtime
      
      * Add the `offchain_tx_pool` to Grandpa as well
      
      * Fix the nodes
      
      * Print some error when using the old warnings
      
      * Fix merge issues
      
      * Fix compilation
      
      * Rename `babe_link`
      
      * Rename to `offchain_tx_pool_factory`
      
      * Cleanup
      
      * FMT
      
      * Fix benchmark name
      
      * Fix `try-runtime`
      
      * Remove `--execution` CLI args
      
      * Make clippy happy
      
      * Forward bls functions
      
      * Fix docs
      
      * Update UI tests
      
      * Update client/api/src/execution_extensions.rs
      
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/cli/src/params/import_params.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-authored-by: default avatarKoute <[email protected]>
      
      * Pass the offchain storage to the MMR RPC
      
      * Update client/api/src/execution_extensions.rs
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      
      * Review comments
      
      * Fixes
      
      ---------
      
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      5eb816d7
  9. Jul 09, 2023
  10. Jul 06, 2023
  11. Jul 05, 2023
  12. Jun 29, 2023
  13. Jun 28, 2023
  14. Jun 27, 2023
  15. Jun 23, 2023
  16. Jun 21, 2023
  17. Jun 18, 2023
    • Gavin Wood's avatar
      Society v2 (#11324) · 33a65362
      Gavin Wood authored
      
      
      * New Society
      
      * More logic drafting
      
      * More work
      
      * Building
      
      * Some tests
      
      * Fixes
      
      * Improvements to the voting process
      
      * More tests
      
      * Test number 20
      
      * Tests
      
      * 30 tests
      
      * Another test]
      
      * All tests enabled
      
      * Minor stuff
      
      * generate_storage_alias: Rewrite as proc macro attribute
      
      This rewrites the `generate_storage_alias!` declarative macro as proc-macro attribute. While doing
      this the name is changed to `storage_alias`. The prefix can now also be the name of a pallet. This
      makes storage aliases work in migrations for all kind of chains and not just for the ones that use
      predefined prefixes.
      
      * Maintenance operations don't pay fee
      
      * Fix compilation and FMT
      
      * Moare fixes
      
      * Migrations
      
      * Fix tests and add migration testing
      
      * Introduce lazy-cleanup and avoid unbounded prefix removal
      
      * Fixes
      
      * Fixes
      
      * [WIP][Society] Adding benchmarking to the v2. (#11776)
      
      * [Society] Adding benchmarking to the v2.
      
      * [Society] Code review.
      
      * [Society] Better code.
      
      * Using clear() + clear_prefix() and adding more tests.
      
      * Benchmarking again...
      
      * Fix Cargo
      
      * Fixes
      
      * Fixes
      
      * Spelling
      
      * Fix benchmarks
      
      * Another fix
      
      * Remove println
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarArtur Gontijo <[email protected]>
      33a65362
  18. Jun 15, 2023
    • Anton's avatar
      [frame/im-online] remove network state from heartbeats (#14251) · 6cd2c8b3
      Anton authored
      * [frame/im-online] remove `external_addresses` from heartbeats
      
      Users should use DHT for discovering new nodes. The reason for adding external addresses was
      unstable work of authority discovery (see https://github.com/paritytech/substrate/issues/2719),
      which is now stable. Hence we can safely remove `external_addresses`.
      
      Refs https://github.com/paritytech/polkadot/issues/7181
      
      * remove unused import
      
      * run benchmark
      
      * remove external_addresses from offchain NetworkState
      
      * add missing fn to TestNetwork
      
      * Revert "run benchmark"
      
      This reverts commit a282042c2d6bf8bae2c383f6e2699c3fe2970a3d.
      
      * update weights
      
      * address @bkchr comments
      
      * remove duplicate fn
      
      * cleanup benchmarking.rs
      
      * fix executor tests
      
      * remove peer_id from hearbeat as well
      
      https://github.com/paritytech/substrate/pull/14251#discussion_r1210887220
      
      * remove MaxPeerDataEncodingSize
      
      * change storage value type to `()`
      
      https://github.com/paritytech/substrate/pull/14251#discussion_r1214268931
      
      * scaffold storage migration
      
      * no need to check the type actually
      
      * remove unnecessary types from v0 mod
      
      * add a test for migration
      
      * expose Config types
      
      + pre_upgrade and post_upgrade working fn
      
      * fix test
      
      * replace dummy type with ConstU32
      
      * add some comments to migration test
      
      * fix comment
      
      * respond to @bkchr comments
      
      * use BoundedOpaqueNetworkState::default
      
      intead of using default for each field
      6cd2c8b3
  19. Jun 13, 2023
  20. Jun 09, 2023
  21. Jun 08, 2023
  22. Jun 02, 2023
  23. May 31, 2023
  24. May 29, 2023
  25. May 26, 2023
  26. May 25, 2023
    • 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
  27. May 24, 2023
    • Bastian Köcher's avatar
      HoldReason: Improve usage (#13869) · 05da6d8e
      Bastian Köcher authored
      
      
      * HoldReason: Improve usage
      
      `HoldReason` was switched recently to use the `composite_enum` attribute that will merge the enums
      from all pallets in the runtime to `RuntimeHoldReason`. `pallet-nis` was still requiring that the
      variant was passed as constant to call `hold`. The proper implementation is to use the `HoldReason`
      from inside the pallet directly when calling `hold`. This is done by adding a `RuntimeHoldReason` as
      type to the `Config` trait and requiring that `Currency` is using the same reason. Besides that the
      pr changes the name `HoldIdentifier` in `pallet_balances::Config` to `RuntimeHoldReason`.
      
      * Update frame/nis/src/lib.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Review comment
      
      * Fixes
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      05da6d8e
    • Bastian Köcher's avatar
      pallet-merkle-mountain-range: Remove extra `Hash` type (#14214) · 5bf4ff56
      Bastian Köcher authored
      * pallet-merkle-mountain-range: Remove extra `Hash` type
      
      * FMT
      5bf4ff56
  28. May 23, 2023
    • 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
    • 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
    • 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
  29. May 17, 2023
  30. May 15, 2023