--- a/Cargo.lock +++ b/Cargo.lock @@ -2484,7 +2484,7 @@ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "async-trait", "derive_more", @@ -2511,7 +2511,7 @@ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "fp-storage", "kvdb", @@ -2527,7 +2527,7 @@ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "fc-consensus", "fc-db", @@ -2545,7 +2545,7 @@ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "ethereum", "ethereum-types", @@ -2591,7 +2591,7 @@ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "ethereum", "ethereum-types", @@ -2725,7 +2725,7 @@ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "ethereum", "parity-scale-codec", @@ -2739,7 +2739,7 @@ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "evm", "impl-trait-for-tuples", @@ -2751,9 +2751,18 @@ ] [[package]] +name = "fp-evm-mapping" +version = "0.1.0" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" +dependencies = [ + "frame-support", + "sp-core", +] + +[[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "ethereum", "ethereum-types", @@ -2770,7 +2779,7 @@ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "ethereum", "frame-support", @@ -2787,7 +2796,7 @@ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" [[package]] name = "frame-benchmarking" @@ -5577,6 +5586,7 @@ "cumulus-primitives-timestamp", "cumulus-primitives-utility", "derivative", + "fp-evm-mapping", "fp-rpc", "fp-self-contained", "frame-benchmarking", @@ -5636,7 +5646,6 @@ "substrate-wasm-builder", "unique-runtime-common", "up-data-structs", - "up-evm-mapping", "up-rpc", "xcm", "xcm-builder", @@ -5835,7 +5844,7 @@ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "frame-support", "frame-system", @@ -5988,6 +5997,7 @@ version = "0.1.0" dependencies = [ "evm-coder", + "fp-evm-mapping", "frame-support", "frame-system", "pallet-evm", @@ -5999,7 +6009,6 @@ "sp-runtime", "sp-std", "up-data-structs", - "up-evm-mapping", ] [[package]] @@ -6062,13 +6071,14 @@ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "ethereum", "ethereum-types", "evm", "fp-consensus", "fp-evm", + "fp-evm-mapping", "fp-rpc", "fp-self-contained", "fp-storage", @@ -6092,12 +6102,13 @@ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903" +source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89" dependencies = [ "evm", "evm-gasometer", "evm-runtime", "fp-evm", + "fp-evm-mapping", "frame-benchmarking", "frame-support", "frame-system", @@ -6141,6 +6152,7 @@ version = "0.1.0" dependencies = [ "evm-coder", + "fp-evm-mapping", "frame-support", "frame-system", "log", @@ -6176,6 +6188,7 @@ version = "0.1.0" dependencies = [ "fp-evm", + "fp-evm-mapping", "frame-support", "frame-system", "pallet-ethereum", @@ -6186,7 +6199,6 @@ "sp-io", "sp-runtime", "sp-std", - "up-evm-mapping", "up-sponsorship", ] @@ -6200,6 +6212,7 @@ "frame-support", "frame-system", "pallet-common", + "pallet-evm", "pallet-evm-coder-substrate", "pallet-structure", "parity-scale-codec", @@ -6427,6 +6440,7 @@ "frame-support", "frame-system", "pallet-common", + "pallet-evm", "pallet-evm-coder-substrate", "pallet-structure", "parity-scale-codec", @@ -6544,6 +6558,7 @@ "frame-support", "frame-system", "pallet-common", + "pallet-evm", "pallet-structure", "parity-scale-codec", "scale-info", @@ -6817,6 +6832,7 @@ "ethereum", "evm-coder", "fp-evm", + "fp-evm-mapping", "frame-benchmarking", "frame-support", "frame-system", @@ -6843,7 +6859,6 @@ "sp-runtime", "sp-std", "up-data-structs", - "up-evm-mapping", "up-sponsorship", ] @@ -8726,6 +8741,7 @@ "cumulus-primitives-timestamp", "cumulus-primitives-utility", "derivative", + "fp-evm-mapping", "fp-rpc", "fp-self-contained", "frame-executive", @@ -8782,7 +8798,6 @@ "substrate-wasm-builder", "unique-runtime-common", "up-data-structs", - "up-evm-mapping", "up-rpc", "xcm", "xcm-builder", @@ -12380,6 +12395,7 @@ "jsonrpc-core-client", "jsonrpc-derive", "pallet-common", + "pallet-evm", "parity-scale-codec", "sp-api", "sp-blockchain", @@ -12591,6 +12607,7 @@ "cumulus-primitives-timestamp", "cumulus-primitives-utility", "derivative", + "fp-evm-mapping", "fp-rpc", "fp-self-contained", "frame-benchmarking", @@ -12650,7 +12667,6 @@ "substrate-wasm-builder", "unique-runtime-common", "up-data-structs", - "up-evm-mapping", "up-rpc", "xcm", "xcm-builder", @@ -12732,6 +12748,7 @@ "derivative", "frame-support", "frame-system", + "pallet-evm", "parity-scale-codec", "scale-info", "serde", @@ -12739,17 +12756,6 @@ "sp-runtime", "sp-std", "struct-versioning", - "up-evm-mapping", -] - -[[package]] -name = "up-evm-mapping" -version = "0.1.0" -dependencies = [ - "frame-support", - "parity-scale-codec", - "scale-info", - "sp-core", ] [[package]] @@ -12757,6 +12763,7 @@ version = "0.1.0" dependencies = [ "pallet-common", + "pallet-evm", "parity-scale-codec", "sp-api", "sp-core", --- a/client/rpc/src/lib.rs +++ b/client/rpc/src/lib.rs @@ -19,7 +19,7 @@ use codec::Decode; use jsonrpc_core::{Error as RpcError, ErrorCode, Result}; use jsonrpc_derive::rpc; -use up_data_structs::{RpcCollection, Collection, CollectionId, CollectionStats, CollectionLimits, TokenId}; +use up_data_structs::{RpcCollection, CollectionId, CollectionStats, CollectionLimits, TokenId}; use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt}; use sp_blockchain::HeaderBackend; use up_rpc::UniqueApi as UniqueRuntimeApi; --- a/pallets/common/src/lib.rs +++ b/pallets/common/src/lib.rs @@ -29,11 +29,13 @@ }; use pallet_evm::GasWeightMapping; use up_data_structs::{ - COLLECTION_NUMBER_LIMIT, Collection, RpcCollection, CollectionId, CreateItemData, MAX_TOKEN_PREFIX_LENGTH, - COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, TokenId, CollectionStats, MAX_TOKEN_OWNERSHIP, - CollectionMode, NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, - REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits, - CustomDataLimit, CreateCollectionData, SponsorshipState, CreateItemExData, SponsoringRateLimit, budget::Budget, COLLECTION_FIELD_LIMIT, CollectionField, PhantomType, + COLLECTION_NUMBER_LIMIT, Collection, RpcCollection, CollectionId, CreateItemData, + MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, TokenId, + CollectionStats, MAX_TOKEN_OWNERSHIP, CollectionMode, NFT_SPONSOR_TRANSFER_TIMEOUT, + FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, + CUSTOM_DATA_LIMIT, CollectionLimits, CustomDataLimit, CreateCollectionData, SponsorshipState, + CreateItemExData, SponsoringRateLimit, budget::Budget, COLLECTION_FIELD_LIMIT, CollectionField, + PhantomType, }; pub use pallet::*; use sp_core::H160; @@ -162,7 +164,6 @@ #[frame_support::pallet] pub mod pallet { use super::*; - use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key}; use pallet_evm::account; use dispatch::CollectionDispatch; use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key, traits::StorageVersion}; @@ -170,7 +171,6 @@ use frame_support::traits::Currency; use up_data_structs::{TokenId, mapping::TokenAddressMapping}; use scale_info::TypeInfo; - use up_evm_mapping::CrossAccountId; #[pallet::config] pub trait Config: @@ -519,6 +519,7 @@ owner_can_transfer: Some(limits.owner_can_transfer()), owner_can_destroy: Some(limits.owner_can_destroy()), transfers_enabled: Some(limits.transfers_enabled()), + nesting_rule: Some(limits.nesting_rule().clone()), }; Some(effective_limits) --- a/pallets/fungible/src/lib.rs +++ b/pallets/fungible/src/lib.rs @@ -24,8 +24,8 @@ budget::Budget, }; use pallet_common::{ - Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, - CollectionHandle, dispatch::CollectionDispatch, + Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, CollectionHandle, + dispatch::CollectionDispatch, }; use pallet_structure::Pallet as PalletStructure; use pallet_evm_coder_substrate::WithRecorder; --- a/pallets/nonfungible/src/lib.rs +++ b/pallets/nonfungible/src/lib.rs @@ -24,8 +24,8 @@ }; use pallet_evm::account::CrossAccountId; use pallet_common::{ - Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, - CollectionHandle, dispatch::CollectionDispatch, + Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, CollectionHandle, + dispatch::CollectionDispatch, }; use pallet_structure::Pallet as PalletStructure; use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder}; --- a/pallets/refungible/src/lib.rs +++ b/pallets/refungible/src/lib.rs @@ -23,8 +23,8 @@ }; use pallet_evm::account::CrossAccountId; use pallet_common::{ - Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, - CollectionHandle, dispatch::CollectionDispatch, + Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, CollectionHandle, + dispatch::CollectionDispatch, }; use pallet_structure::Pallet as PalletStructure; use sp_runtime::{ArithmeticError, DispatchError, DispatchResult}; --- a/pallets/unique/src/eth/sponsoring.rs +++ b/pallets/unique/src/eth/sponsoring.rs @@ -31,7 +31,6 @@ UniqueNFTCall, ERC721UniqueExtensionsCall, ERC721MintableCall, ERC721Call, }; use pallet_fungible::erc::{UniqueFungibleCall, ERC20Call}; -use up_data_structs::{TokenId, CreateItemData, CreateNftData}; pub struct UniqueEthSponsorshipHandler(PhantomData<*const T>); impl SponsorshipHandler)> --- a/primitives/data-structs/Cargo.toml +++ b/primitives/data-structs/Cargo.toml @@ -25,6 +25,7 @@ sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.20" } derivative = "2.2.0" struct-versioning = { path = "../../crates/struct-versioning" } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" } [features] default = ["std"] @@ -37,6 +38,7 @@ "sp-runtime/std", "sp-core/std", "sp-std/std", + "pallet-evm/std", ] serde1 = ["serde"] limit-testing = [] --- a/primitives/data-structs/src/mapping.rs +++ b/primitives/data-structs/src/mapping.rs @@ -3,7 +3,7 @@ use sp_core::H160; use crate::{CollectionId, TokenId}; -use up_evm_mapping::CrossAccountId; +use pallet_evm::account::CrossAccountId; pub trait TokenAddressMapping
{ fn token_to_address(collection: CollectionId, token: TokenId) -> Address; --- a/primitives/rpc/src/lib.rs +++ b/primitives/rpc/src/lib.rs @@ -16,7 +16,7 @@ #![cfg_attr(not(feature = "std"), no_std)] -use up_data_structs::{CollectionId, TokenId, RpcCollection, Collection, CollectionStats, CollectionLimits}; +use up_data_structs::{CollectionId, TokenId, RpcCollection, CollectionStats, CollectionLimits}; use sp_std::vec::Vec; use codec::Decode; use sp_runtime::DispatchError; --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -93,11 +93,6 @@ default-features = false path = "../../primitives/data-structs" -[dependencies.pallet-evm] -default-features = false -git = "https://github.com/uniquenetwork/frontier.git" -branch = "unique-polkadot-v0.9.18" - [dependencies.sp-consensus-aura] default-features = false git = "https://github.com/paritytech/substrate" --- a/runtime/opal/src/lib.rs +++ b/runtime/opal/src/lib.rs @@ -67,7 +67,7 @@ }, }; use up_data_structs::mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping}; -use up_data_structs::{CollectionId, TokenId, CollectionStats, RpcCollection}; +use up_data_structs::{CollectionId, TokenId, CollectionStats, CollectionLimits, RpcCollection}; // use pallet_contracts::weights::WeightInfo; // #[cfg(any(feature = "std", test))] use frame_system::{