Adrian Catangiu
e7651cf41b
pallet-xcm: add new flexible transfer_assets() call/extrinsic ( #2388 )
...
# Motivation (+testing)
### Enable easy `ForeignAssets` transfers using `pallet-xcm`
We had just previously added capabilities to teleport fees during
reserve-based transfers, but what about reserve-transferring fees when
needing to teleport some non-fee asset?
This PR aligns everything under either explicit reserve-transfer,
explicit teleport, or this new flexible `transfer_assets()` which can
mix and match as needed with fewer artificial constraints imposed to the
user.
This will enable, for example, a (non-system) parachain to teleport
their `ForeignAssets` assets to AssetHub while using DOT to pay fees.
(the assets are teleported - as foreign assets should from their owner
chain - while DOT used for fees can only be reserve-based transferred
between said parachain and AssetHub).
Added `xcm-emulator` tests for this scenario ^.
# Description
Reverts `(limited_)reserve_transfer_assets` to only allow reserve-based
transfers for all `assets` including fees.
Similarly `(limited_)teleport_assets` only allows teleports for all
`assets` including fees.
For complex combinations of asset transfers where assets and fees may
have different reserves or different reserve/teleport trust
configurations, users can use the newly added `transfer_assets()`
extrinsic which is more flexible in allowing more complex scenarios.
`assets` (excluding `fees`) must have same reserve location or otherwise
be teleportable to `dest`.
No limitations imposed on `fees`.
- for local reserve: transfer assets to sovereign account of destination
chain and forward a notification XCM to `dest` to mint and deposit
reserve-based assets to `beneficiary`.
- for destination reserve: burn local assets and forward a notification
to `dest` chain to withdraw the reserve assets from this chain's
sovereign account and deposit them to `beneficiary`.
- for remote reserve: burn local assets, forward XCM to reserve chain to
move reserves from this chain's SA to `dest` chain's SA, and forward
another XCM to `dest` to mint and deposit reserve-based assets to
`beneficiary`.
- for teleports: burn local assets and forward XCM to `dest` chain to
mint/teleport assets and deposit them to `beneficiary`.
## Review notes
Only around 500 lines are prod code (see `pallet_xcm/src/lib.rs`), the
rest of the PR is new tests and improving existing tests.
---------
Co-authored-by: command-bot <>
2023-12-06 13:18:12 +02:00
Liam Aharon
4a293bc5a2
Enforce consistent and correct toml formatting ( #2518 )
...
Using taplo, fixes all our broken and inconsistent toml formatting and
adds CI to keep them tidy.
If people want we can customise the format rules as described here
https://taplo.tamasfe.dev/configuration/formatter-options.html
@ggwpez, I suggest zepter is used only for checking features are
propagated, and leave formatting for taplo to avoid duplicate work and
conflicts.
TODO
- [x] Use `exclude = [...]` syntax in taplo file to ignore zombienet
tests instead of deleting the dir
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-12-01 07:38:02 +00:00
gupnik
cd8741c8b5
Moves all test runtimes to use derive_impl ( #2409 )
...
Step in https://github.com/paritytech/polkadot-sdk/issues/171
This PR adds `derive_impl` on all `frame_system` config impls for mock
runtimes. The overridden configs are maintained as of now to ensure
minimal changes.
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-11-28 14:13:57 +01:00
Kian Paimani
35eb133baa
Ensure correct variant count in Runtime[Hold/Freeze]Reason ( #1900 )
...
closes https://github.com/paritytech/polkadot-sdk/issues/1882
## Breaking Changes
This PR introduces a new item to `pallet_balances::Config`:
```diff
trait Config {
++ type RuntimeFreezeReasons;
}
```
This value is only used to check it against `type MaxFreeze`. A similar
check has been added for `MaxHolds` against `RuntimeHoldReasons`, which
is already given to `pallet_balances`.
In all contexts, you should pass the real `RuntimeFreezeReasons`
generated by `construct_runtime` to `type RuntimeFreezeReasons`. Passing
`()` would also work, but it would imply that the runtime uses no
freezes at all.
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-10-24 12:01:04 +02:00
Bastian Köcher
f3bf5c1acd
xcm: Change TypeInfo::path to not include staging (#1948 )
...
The `xcm` crate was renamed to `staging-xcm` to be able to publish it to
crates.io as someone as squatted `xcm`. The problem with this rename is
that the `TypeInfo` includes the crate name which ultimately lands in
the metadata. The metadata is consumed by downstream users like
`polkadot-js` or people building on top of `polkadot-js`. These people
are using the entire `path` to find the type in the type registry. Thus,
their code would break as the type path would now be [`staging_xcm`,
`VersionedXcm`] instead of [`xcm`, `VersionedXcm`]. This pull request
fixes this by renaming the path segment `staging_xcm` to `xcm`.
This requires: https://github.com/paritytech/scale-info/pull/197
---------
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com >
2023-10-20 11:21:19 +02:00
Squirrel
d9e266f432
nit: use traits::tokens::fungible => use traits::fungible ( #1753 )
...
Slightly less verbose use of fungible(s).
---------
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com >
2023-10-17 11:55:59 +02:00
Chevdor
a30092ab42
Markdown linter ( #1309 )
...
* Add markdown linting
- add linter default rules
- adapt rules to current code
- fix the code for linting to pass
- add CI check
fix #1243
* Fix markdown for Substrate
* Fix tooling install
* Fix workflow
* Add documentation
* Remove trailing spaces
* Update .github/.markdownlint.yaml
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix mangled markdown/lists
* Fix captalization issues on known words
2023-09-04 12:02:32 +03:00
Juan
bdbe982970
Restructure dispatch macro related exports ( #1162 )
...
* restructure dispatch macro related exports
* moved Dispatchable to lib.rs
* fix .gitignore final newline
* ".git/.scripts/commands/fmt/fmt.sh"
* fix rustdocs
* wip
---------
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com >
Co-authored-by: command-bot <>
Co-authored-by: ordian <write@reusable.software >
2023-08-31 14:08:44 +03:00
Oliver Tale-Yazdi
dcda0e50f5
Fix build profiles ( #1229 )
...
* Fix build profiles
Closes https://github.com/paritytech/polkadot-sdk/issues/1155
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Manually set version to 1.0.0
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use workspace repo
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* 'Authors and Edition from workspace
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-08-29 13:39:41 +02:00
alvicsam
f441a5fc93
Diener workspacify
...
Signed-off-by: alvicsam <alvicsam@gmail.com >
2023-08-25 11:05:17 +02:00
Oliver Tale-Yazdi
8b9455465b
Format and Sort features in Cargo.toml files ( #14803 )
...
* CI: Add feature sorting check
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Sort all features
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add some mistakes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Add some mistakes"
This reverts commit b2b1099f979f6decb22d09b46689c1554bb72e81.
* CI job naming
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add oneliner formatting
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Explain tool
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use latest version
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Better erorr message
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Format after master merge
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use --check option
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Messed up the merge commit...
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-08-23 14:21:52 +00:00
Juan
878c562cd4
Restructure frame_support macro related exports ( #14745 )
...
* make reexports private
* make reexports private 2
* make reexports private for runtime-benchmarking
* make reexports private for try-runtime
* fix for try-runtime
* make reexports private for tests
* fmt
* make reexports private for tests
* make reexports private for experimental
* fix beefy
* fix ui test
* fix ui test
* fix benches
* ".git/.scripts/commands/fmt/fmt.sh"
* fix contracts use
* wip
* wip
* do not reexport sp_api::metadata_ir
* fix CI checks
* fix support tests
* ".git/.scripts/commands/fmt/fmt.sh"
* Update frame/support/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* import codec directly
* fmt
* fix node-cli tests
---------
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-08-23 12:30:12 +00:00
Juan
85f9931e4f
Add FixedPointOperand blanket implementation ( #14634 )
...
* bound `Balance` to `FixedPointOperand`
* ".git/.scripts/commands/fmt/fmt.sh"
* clean up code
* Apply suggestions from code review
Co-authored-by: Gavin Wood <gavin@parity.io >
* wip
* add blanket `FixedPointOperand` impl
* update nis CurrencyBalance
* remove CheckedNeg bound
---------
Co-authored-by: command-bot <>
Co-authored-by: Gavin Wood <gavin@parity.io >
2023-08-02 07:54:11 +00:00
Oliver Tale-Yazdi
77321288c3
Fix Substrate features ( #14660 )
...
* Fix std, runtime-benchmarks and try-runtime features
zepter lint propagate-feature --feature try-runtime --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="try-runtime:frame-try-runtime"
zepter lint propagate-feature --feature runtime-benchmarks --left-side-feature-missing=ignore --workspace --fix --feature-enables-dep="runtime-benchmarks:frame-benchmarking"
zepter lint propagate-feature --feature std --left-side-feature-missing=ignore --workspace --fix
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add propagate feature CI check
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Test CI by adding an error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use --locked
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add help msg
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Test CI by adding an error"
This reverts commit cf4ff6cc0632269b0a109e547686e5e3314b02de.
* Test CI by adding an error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* No newline in help msg
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Test CI by adding an error"
This reverts commit 5daa06ada8e01f5bebafb9d1c76804dd79bc1006.
* Test CI by adding an error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Test CI by adding an error"
This reverts commit ca15de5729507a564f140a10ec2e87b19516ec4c.
* Fix msg
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert back to master
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Re-do with Zepter v0.7.4
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update Zepter to 0.7.4
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Disable rococo try-runtime check
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <git@kchr.de >
* More review fixes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-08-01 20:25:59 +00:00
Branislav Kontur
649be3aaaa
Asset conversion get_pool_id fix (Ord does not count with is_native flag) ( #14572 )
...
* Asset conversion `get_pool_id` fix (`Ord` does not count with `is_native` flag)
* Removed unnecessery clones + added `pool_account` to `PoolCreated` event
* Fix bench compile
* Fix bench
* Improved `MultiAssetIdConverter::try_convert`
* Removed `into_multiasset_id` from converter and moved to `BenchmarkHelper`
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_asset_conversion
* Fixed doc
* Typo
* Removed `NativeOrAssetId` (test/mock) impl from types.rs to mock.rs...
* Typo + 0u32 -> 0
* Update frame/asset-conversion/src/benchmarking.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
* Typo
* ".git/.scripts/commands/fmt/fmt.sh"
* Fix from Jegor
* Try to fix the other failing benchmark
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_asset_conversion
* Update frame/asset-conversion/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/asset-conversion/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/asset-conversion/src/mock.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update bin/node/runtime/src/impls.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/asset-conversion/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update bin/node/runtime/src/impls.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Reverted NativeOrAssetId
---------
Co-authored-by: command-bot <>
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
Co-authored-by: Jegor Sidorenko <jegor@parity.io >
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
2023-07-21 13:06:32 +00:00
Juan
6a29a70a92
Replace system config Index for Nonce ( #14290 )
...
* 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
2023-07-14 06:56:48 +00:00
gupnik
5e7b27e98c
Moves Block to frame_system instead of construct_runtime and removes Header and BlockNumber ( #14437 )
...
* Initial setup
* Adds node block
* Uses UncheckedExtrinsic and removes Where section
* Updates frame_system to use Block
* Adds deprecation warning
* Fixes pallet-timestamp
* Removes Header and BlockNumber
* Addresses review comments
* Addresses review comments
* Adds comment about compiler bug
* Removes where clause
* Refactors code
* Fixes errors in cargo check
* Fixes errors in cargo check
* Fixes warnings in cargo check
* Formatting
* Fixes construct_runtime tests
* Uses import instead of full path for BlockNumber
* Uses import instead of full path for Header
* Formatting
* Fixes construct_runtime tests
* Fixes imports in benchmarks
* Formatting
* Fixes construct_runtime tests
* Formatting
* Minor updates
* Fixes construct_runtime ui tests
* Fixes construct_runtime ui tests with 1.70
* Fixes docs
* Fixes docs
* Adds u128 mock block type
* Fixes split example
* fixes for cumulus
* ".git/.scripts/commands/fmt/fmt.sh"
* Updates new tests
* Fixes fully-qualified path in few places
* Formatting
* Update frame/examples/default-config/src/lib.rs
Co-authored-by: Juan <juangirini@gmail.com >
* Update frame/support/procedural/src/construct_runtime/mod.rs
Co-authored-by: Juan <juangirini@gmail.com >
* ".git/.scripts/commands/fmt/fmt.sh"
* Addresses some review comments
* Fixes build
* ".git/.scripts/commands/fmt/fmt.sh"
* Update frame/democracy/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update frame/democracy/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update frame/support/procedural/src/construct_runtime/mod.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update frame/support/procedural/src/construct_runtime/mod.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Addresses review comments
* Updates trait bounds
* Minor fix
* ".git/.scripts/commands/fmt/fmt.sh"
* Removes unnecessary bound
* ".git/.scripts/commands/fmt/fmt.sh"
* Updates test
* Fixes build
* Adds a bound for header
* ".git/.scripts/commands/fmt/fmt.sh"
* Removes where block
* Minor fix
* Minor fix
* Fixes tests
* ".git/.scripts/commands/update-ui/update-ui.sh" 1.70
* Updates test
* Update primitives/runtime/src/traits.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Update primitives/runtime/src/traits.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Updates doc
* Updates doc
---------
Co-authored-by: command-bot <>
Co-authored-by: Juan <juangirini@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-07-13 12:01:34 +00:00
Branislav Kontur
d3c42b2e8d
Fix refund benchmark for pallet_assets ( #14561 )
...
* Fix refund benchmark for pallet_assets
* Update frame/assets/src/benchmarking.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Re-added docs
* Another "fix"
---------
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
Co-authored-by: parity-processbot <>
2023-07-12 13:41:46 +00:00
Michal Kucharczyk
87d41d0a89
GenesisBuild<T,I> deprecated. BuildGenesisConfig added. (#14306 )
...
* 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: Sebastian Kunert <skunert49@gmail.com >
* Update frame/support/src/traits/hooks.rs
Co-authored-by: Sebastian Kunert <skunert49@gmail.com >
* 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: Davide Galassi <davxy@datawok.net >
* 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: Bastian Köcher <git@kchr.de >
* fmt
* fix
* fix
---------
Co-authored-by: parity-processbot <>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com >
Co-authored-by: Davide Galassi <davxy@datawok.net >
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-07-12 10:22:12 +00:00
Muharem Ismailov
2f98b56393
Pallets: Assets destroy_accounts releases the deposit ( #14443 )
...
* assset accounts destroy releases the deposit
* enumerate
* Update frame/assets/src/functions.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* import defensive from frame_support
---------
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: parity-processbot <>
2023-07-01 15:48:53 +00:00
Bastian Köcher
321a52bb27
Remove clippy workaround ( #14424 )
2023-06-21 12:06:09 +00:00
Koute
9d1741eb3c
Bump parity-scale-codec to 3.6.1 ( #14428 )
2023-06-21 11:37:11 +00:00
Oleg Plakida
0aa79f87ca
".git/.scripts/commands/bench-vm/bench-vm.sh" all ( #13933 )
...
Co-authored-by: command-bot <>
2023-06-19 14:31:20 +01:00
Branislav Kontur
4057ef1554
Fix for pallet_assets::create benchmark ( #14384 )
...
* Fix for `pallet_assets::create` benchmark
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet-assets
---------
Co-authored-by: command-bot <>
2023-06-14 20:03:37 +00:00
Squirrel
41735589ee
it's always false... ( #13330 )
2023-06-09 12:11:25 +00:00
Alexandru Vasile
3da9449067
Bump sp-crates from latest crates.io version + release ( #14265 )
...
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2023-05-31 12:11:01 +00:00
Alexandru Vasile
98a0550ea2
Release: Bump SP crates to release on crates.io ( #14237 )
...
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2023-05-29 10:40:59 +00:00
Bastian Köcher
05da6d8e84
HoldReason: Improve usage ( #13869 )
...
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Review comment
* Fixes
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-05-24 21:59:34 +00:00
Koute
194c9edd4a
Remove the Copy bound on AssetId ( #14158 )
...
* 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 <>
2023-05-23 11:34:04 +00:00
lanaivina
41dbed0b90
NFTs fractionalization ( #12565 )
...
* 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: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
* fmt fix
* Update frame/nfts/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
* update tests
* anyone can cancel
* Update frame/nfts/src/tests.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
* 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: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* fmt
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* suggestion
* new line
* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
Co-authored-by: command-bot <>
Co-authored-by: Squirrel <gilescope@gmail.com >
* 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: Keith Yeung <kungfukeith11@gmail.com >
* 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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix benchmarks
* Revert the bounded_vec![] approach
* ".git/.scripts/bench-bot.sh" pallet dev pallet_nfts
Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* [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: Squirrel <gilescope@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* [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: Muharem Ismailov <ismailov.m.h@gmail.com >
* Address PR comments
* Add missed comment
Co-authored-by: command-bot <>
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/types.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/types.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Update docs
* Update frame/nfts/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* [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: Squirrel <gilescope@gmail.com >
* ".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: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/traits/tokens/nonfungible_v2.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/traits/tokens/nonfungible_v2.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/traits/tokens/nonfungibles_v2.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/traits/tokens/nonfungible_v2.rs
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/support/src/traits/tokens/nonfungibles_v2.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* 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: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nfts/src/types.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* 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: lana-shanghai <svetlana.konstantinovna@gmail.com >
* 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: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update frame/nft-fractionalization/README.md
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
---------
Co-authored-by: Jegor Sidorenko <jegor@parity.io >
Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com >
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
Co-authored-by: Squirrel <gilescope@gmail.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
Co-authored-by: command-bot <>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
2023-05-23 07:17:48 +00:00
Sergej Sakac
df87bae1a9
BREAKING - Try-runtime: Use proper error types ( #13993 )
...
* 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: Liam Aharon <liam.aharon@hotmail.com >
* 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: Keith Yeung <kungfukeith11@gmail.com >
---------
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2023-05-23 06:56:10 +00:00
Michal Kucharczyk
613420a035
frame: Enable GenesisConfig in no_std ( #14108 )
...
* 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 <>
2023-05-20 07:34:23 +00:00
Muharem Ismailov
0a105eed6f
AccountTouch: deposit_required requires asset id ( #14147 )
2023-05-15 16:08:07 +00:00
Muharem Ismailov
05201c4047
Assets: impl ContainsPair for asset and account IDs ( #14119 )
...
* Assets impl ContainsPair for asset and account IDs
* clap version
2023-05-11 15:56:01 +00:00
Keith Yeung
da24214174
Emit events related to asset mutations ( #14099 )
...
* Emit events related to asset mutations
* Fixes
* Improve unit tests
* cargo fmt
2023-05-09 12:28:58 +00:00
joe petrowski
be56fd3f53
Allow Creation of Asset Accounts That Don't Exist Yet and Add Blocked Status ( #13843 )
...
* 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: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* move trait to misc, drop option
* Apply suggestions from code review
Co-authored-by: Gavin Wood <gavin@parity.io >
* correct doc
* Update frame/assets/src/functions.rs
---------
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* 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: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
* rename permissionless to check_depositor
* doc fix
* use account id lookup instead account id
* add benchmark for touch_other
---------
Co-authored-by: muharem <ismailov.m.h@gmail.com >
Co-authored-by: command-bot <>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com >
2023-05-08 10:17:35 +00:00
Oliver Tale-Yazdi
b5201fa0ec
FRAME: inherited call weight syntax ( #13932 )
...
* First approach on pallet::call_weight
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use attr on pallet::call instead
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Ui tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Rename to weight(prefix = ...))
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Simplify to #[pallet::call(weight(T))]
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add stray token error
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Migrate remaining pallets
Using script from https://github.com/ggwpez/substrate-scripts/blob/e1b5ea5b5b4018867f3e869fce6f448b4ba9d71f/frame-code-migration/src/call_weight.rs
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Try to add some docs
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Migrate remaining pallets"
Lets do this as a follow-up, I dont want to bloat this small MR.
This reverts commit 331d4b42d72de1dacaed714d69166fa1bc9c92dd.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Renames
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Review fixes
Co-authored-by: Sam Johnson <sam@durosoft.com >
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Test weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update UI tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update frame/support/procedural/src/pallet/parse/mod.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
* Remove old code
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update docs
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: parity-processbot <>
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
2023-04-27 14:08:08 +00:00
Gavin Wood
781ea7cbdc
Various minor fixes ( #13945 )
...
* Fix: Incorrect implementation of can_reserve check
* Fix: Incorrect migration of consumer counting for existing accounts with frozen amounts
* Fix: Inconsistent implementation between assets can_deposit and new_account
* Fixes
* Fixes
* Another fix
* Update tests.rs
* Update fungible_tests.rs
* Use `can_accrue_consumers` in the body of `can_inc_consumer`
---------
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: parity-processbot <>
2023-04-26 14:26:07 +00:00
Oliver Tale-Yazdi
ebfe00d590
Fixes PoV over-estimation ( #13766 )
...
* Align log
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use max instead of sum
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Make comment ordering deterministic
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Dont add Pov overhead when all is ignored
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update test pallet weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Re-run weights on bm2
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix test
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Actually use new weights
Fucked up the merge for this file...
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update contract weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-04-13 13:11:58 +00:00
Roman Useinov
376a288fb6
[Deps] Bump scale-info to match cumulus and polkadot ( #13873 )
...
* [Deps] Bump scale-info to match cumulus and polkadot
* fix Cargo.lock
* fix identity
* more fixes
* fix
* fixes
* more fixes
2023-04-12 14:14:06 +02:00
William Freudenberger
74bbae6901
refactor: inconsistent BalanceConversion fn ( #13610 )
...
* refactor: inconsistent BalanceConversion fn
* Revert "refactor: inconsistent BalanceConversion fn"
This reverts commit 1177877631a11b64df6f019b5390a8a7018e3a3f.
* refactor: rename BalanceConversion trait
* feat: add ConversionFromAssetBalance
2023-04-04 07:40:30 +00:00
Gavin Wood
5d81f23f8f
Deprecate Currency; introduce holds and freezing into fungible traits ( #12951 )
...
* First reworking of fungibles API
* New API and docs
* More fungible::* API improvements
* New ref-counting logic for old API
* Missing files
* Fixes
* Use the new transfer logic
* Use fungibles for the dispatchables
* Use shelve/restore names
* Locking works with total balance.
* repotting and removal
* Separate Holds from Reserves
* Introduce freezes
* Missing files
* Tests for freezing
* Fix hold+freeze combo
* More tests
* Fee-free dispatchable for upgrading accounts
* Benchmarks and a few fixes
* Another test
* Docs and refactor to avoid blanket impls
* Repot
* Fit out ItemOf fully
* Add events to Balanced traits
* Introduced events into Hold traits
* Fix Assets pallet tests
* Assets benchmarks pass
* Missing files and fixes
* Fixes
* Fixes
* Benchmarks fixes
* Fix balance benchmarks
* Formatting
* Expose fungible sub modules
* Move NIS to fungible API
* Fix broken impl and add test
* Fix tests
* API for `transfer_and_hold`
* Use composite APIs
* Formatting
* Upgraded event
* Fixes
* Fixes
* Fixes
* Fixes
* Repot tests and some fixed
* Fix some bits
* Fix dust tests
* Rename `set_balance`
- `Balances::set_balance` becomes `Balances::force_set_balance`
- `Unbalanced::set_balance` becomes `Unbalances::write_balance`
* becomes
* Move dust handling to fungibles API
* Formatting
* Fixes and more refactoring
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Use reducible_balance for better correctness on fees
* Reducing hold to zero should remove entry.
* Add test
* Docs
* Update frame/support/src/traits/tokens/fungibles/hold.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
* Update frame/support/src/traits/tokens/fungibles/regular.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
* Update frame/support/src/traits/tokens/fungible/hold.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
* Update frame/support/src/traits/tokens/fungible/regular.rs
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
* Docs
* Docs
* Docs
* Fix NIS benchmarks
* Doc comment
* Remove post_mutation
* Fix some tests
* Fix some grumbles
* Enumify bool args to fungible(s) functions
* Fix up assets and balances
* Formatting
* Fix contracts
* Fix tests & benchmarks build
* Typify minted boolean arg
* Typify on_hold boolean arg; renames
* Fix numerous tests
* Fix dependency issue
* Privatize dangerous API mutate_account
* Fix contracts (@alext - please check this commit)
* Remove println
* Fix tests for contracts
* Fix broken rename
* Fix broken rename
* Fix broken rename
* Docs
* Update frame/support/src/traits/tokens/fungible/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* remove from_ref_time
* Update frame/executive/src/lib.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/executive/src/lib.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Reenable test
* Update frame/support/src/traits/tokens/fungibles/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungible/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungible/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungible/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/currency.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/lottery/src/tests.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungible/mod.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungible/regular.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungibles/freeze.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungible/regular.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungibles/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungibles/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Update frame/support/src/traits/tokens/fungibles/hold.rs
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
* Rename UnwantedRemoval to UnwantedAccountRemoval
* Docs
* Formatting
* Update frame/balances/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update primitives/runtime/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* handle_raw_dust oes nothing
* Formatting
* Fixes
* Grumble
* Fixes
* Add test
* Add test
* Tests for reducible_balance
* Fixes
* Fix Salary
* Fixes
* Disable broken test
* Disable nicely
* Fixes
* Fixes
* Fixes
* Rename some events
* Fix nomination pools breakage
* Add compatibility stub for transfer tx
* Reinstate a safely compatible version of Balances set_balance
* Fixes
* Grumble
* Update frame/nis/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
* disable flakey tests
* Update frame/balances/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Grumbles
* Grumble
---------
Co-authored-by: Muharem Ismailov <ismailov.m.h@gmail.com >
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Anthony Alaribe <anthonyalaribe@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: command-bot <>
2023-03-18 14:47:55 +00:00
Oliver Tale-Yazdi
3a3d93afee
Update all weights ( #13614 )
...
* Empty commit
* ".git/.scripts/commands/bench/bench.sh" all
---------
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: command-bot <>
2023-03-16 17:57:45 +01:00
Dino Pačandi
efd5d98e10
Pallet assets improvements ( #13543 )
2023-03-13 15:44:47 +00:00
Vivek Pandya
2009821cde
Remove use of trait Store from all pallets and deprecate it. ( #13535 )
...
* Remove use of trait Store from staking pallet
* Remove use of trait Store from bounties pallet
* Remove use of trait Store from collective pallet
* Remove use of trait Store from babe pallet
* Remove use of trait Store from assets pallet
* Remove use of trait Store from grandpa pallet
* Remove use of trait Store from balances pallet
* Remove use of trait Store from authorship pallet
* Remove use of trait Store from authority-discovery pallet
* Remove use of trait Store from atomic-swap pallet
* Remove use of trait Store from sudo pallet
* Remove use of trait Store from scheduler pallet
* Remove use of trait Store from scored-pool pallet
* Remove use of trait Store from society pallet
* Remove use of trait Store from lottery pallet
* Remove use of trait Store from executive pallet
* Remove use of trait Store from democracy pallet
* Remove use of trait Store from elections-phragmen pallet
* Remove use of trait Store from indices pallet
* Remove use of trait Store from identity pallet
* Remove use of trait Store from multisig pallet
* Remove use of trait Store from merkle-mountain-range pallet
* Remove use of trait Store from im-online pallet
* Remove use of trait Store from membership pallet
* Remove use of trait Store from nicks pallet
* Remove use of trait Store from session pallet
* Remove use of trait Store from transaction-payment pallet
* Remove use of trait Store from utility pallet
* Remove use of trait Store from child-bounties pallet
* Remove use of trait Store from nis pallet
* Remove use of trait Store from nfts pallet
* Remove use of trait Store from conviction-voting pallet
* Remove use of trait Store from treasury pallet
* Remove use of trait Store from vesting pallet
* Remove use of trait Store from preimage pallet
* Remove use of trait Store from uniques pallet
* Remove use of trait Store from ranked-collective pallet
* Remove use of trait Store from beefy-mmr pallet
* Remove use of trait Store from referenda pallet
* Remove use of trait Store from whitelist pallet
* Remove use of trait Store from alliance pallet
* Remove use of trait Store from nomination-pools pallet
* Remove use of trait Store from state-trie-migration pallet
* Remove use of trait Store from message-queue pallet
* Remove use of trait Store from root-offences pallet
* Remove use of trait Store from root-testing pallet
* Remove use of trait Store from timestamps pallet
* Remove use of trait Store from system pallet
* Remove use of trait Store from offences pallet
* Remove use of trait Store from recovery pallet
* Remove use of trait Store from node-authorization pallet
* Remove use of trait Store from proxy pallet
* Remove use of trait Store from benchmarking pallet
* Remove use of trait Store from bags-list pallet
* Add deprecated warning in store_trait
* Change warning message
* Run cargo fmt
* Fix warning and update tests
* Remove unnecessary allow deprecated
* Remove use of trait Store
* Fix mismatch in expected output
* Minor update to warning message for deprecation of generate_store with Store trait attribute
* Fixes as per review comments
* Fixes as per review suggestions
* Remove use of Store trait from core-fellowship pallet
* Fix type in store_trait.rs
* Fixes as pre review comment
2023-03-13 15:30:05 +00:00
Sergej Sakac
1d6423b41d
Assets pallet: Don't allow set_min_balance when sufficient ( #13510 )
...
* Assets pallet: Don't allow set_min_balance when sufficient
* fix
* fix benchmark
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_assets
* Update frame/assets/src/lib.rs
* fix
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_assets
---------
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-03-03 21:39:45 +01:00
Oliver Tale-Yazdi
9e56e1acdd
Deprecate Weight::from_{ref_time, proof_size} ( #13475 )
...
* Deprecate Weight::from_{ref_time, proof_size}
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update templates
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use from_parts
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use from_parts
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Dont revert comment 🤦
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
* Update weight files
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* More fixes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Adapt to Master changes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: command-bot <>
2023-03-02 21:28:17 +00:00
Jegor Sidorenko
7981d4aa59
Return account's asset balances ( #13352 )
...
* Runtime method to get user's assets balances
* Fix test (typo)
* Update frame/assets/src/functions.rs
* Remove instance param
* Update frame/assets/src/functions.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Remove instance param
* Refactor
* Chore
* Update doc
---------
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: parity-processbot <>
2023-03-02 13:58:41 +00:00
Sergej Sakac
2b29966f75
Assets pallet: Giving the asset owner the ability to set minimum balance ( #13486 )
...
* set_min_balance
* allow when new_min_balance < old_min_balance
* add more specific event
* Update frame/assets/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Update frame/assets/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_assets
* use actual weight
---------
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: command-bot <>
2023-03-02 10:16:47 +00:00
Vivek Pandya
bc53b9a03a
Remove years from copyright notes. ( #13415 )
...
* Change copyright year to 2023 from 2022
* Fix incorrect update of copyright year
* Remove years from copy right header
* Fix remaining files
* Fix typo in a header and remove update-copyright.sh
2023-02-21 18:46:41 +00:00