difftreelog
chore replace u128 with CallContext
in: master
19 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5794,6 +5794,7 @@
"pallet-common",
"pallet-evm 6.0.0-dev (git+https://github.com/uniquenetwork/frontier?rev=89a37c5a489f426cc7a42d7b94019974093a052d)",
"pallet-evm-coder-substrate",
+ "pallet-evm-transaction-payment",
"parity-scale-codec 3.1.5",
"scale-info",
"sp-core",
@@ -6409,7 +6410,7 @@
[[package]]
name = "pallet-template-transaction-payment"
version = "3.0.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?rev=a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3#a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?rev=9ee7d6e57e03a2575cbab79431774b56f170018e#9ee7d6e57e03a2575cbab79431774b56f170018e"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -12577,7 +12578,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?rev=a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3#a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?rev=9ee7d6e57e03a2575cbab79431774b56f170018e#9ee7d6e57e03a2575cbab79431774b56f170018e"
dependencies = [
"impl-trait-for-tuples",
]
pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -21,12 +21,13 @@
# Unique
pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e" }
# Locals
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-common = { default-features = false, path = '../../pallets/common' }
pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
+pallet-evm-transaction-payment = { default-features = false, path = '../../pallets/evm-transaction-payment' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs', features = [
'serde1',
] }
pallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -20,12 +20,13 @@
use evm_coder::{
abi::AbiWriter, execution::Result, generate_stubgen, solidity_interface, types::*, ToLog,
};
-use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder, dispatch_to_evm};
use pallet_evm::{
ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure, PrecompileHandle,
account::CrossAccountId,
};
-use sp_core::{H160, U256};
+use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder, dispatch_to_evm};
+use pallet_evm_transaction_payment::CallContext;
+use sp_core::H160;
use up_data_structs::SponsorshipState;
use crate::{
AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringFeeLimit,
@@ -254,17 +255,15 @@
&mut self,
caller: caller,
contract_address: address,
- fee_limit: uint128,
+ fee_limit: uint256,
) -> Result<void> {
<Pallet<T>>::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::<T>)?;
<Pallet<T>>::set_sponsoring_fee_limit(contract_address, fee_limit.into());
Ok(())
}
- fn get_sponsoring_fee_limit(&self, contract_address: address) -> Result<uint128> {
- Ok(<SponsoringFeeLimit<T>>::get(contract_address)
- .try_into()
- .map_err(|_| "fee limit > u128::MAX")?)
+ fn get_sponsoring_fee_limit(&self, contract_address: address) -> Result<uint256> {
+ Ok(<SponsoringFeeLimit<T>>::get(contract_address))
}
/// Is specified user present in contract allow list
@@ -380,13 +379,13 @@
/// Bridge to pallet-sponsoring
pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);
-impl<T: Config> SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>), u128>
+impl<T: Config> SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>), CallContext>
for HelpersContractSponsoring<T>
{
fn get_sponsor(
who: &T::CrossAccountId,
call: &(H160, Vec<u8>),
- fee_limit: &u128,
+ call_context: &CallContext,
) -> Option<T::CrossAccountId> {
let (contract_address, _) = call;
let mode = <Pallet<T>>::sponsoring_mode(*contract_address);
@@ -417,7 +416,7 @@
let sponsored_fee_limit = <SponsoringFeeLimit<T>>::get(contract_address);
- if *fee_limit > sponsored_fee_limit {
+ if call_context.max_fee > sponsored_fee_limit {
return None;
}
pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -30,7 +30,7 @@
use crate::eth::ContractHelpersEvents;
use frame_support::pallet_prelude::*;
use pallet_evm_coder_substrate::DispatchResult;
- use sp_core::H160;
+ use sp_core::{H160, U256};
use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
use up_data_structs::SponsorshipState;
use evm_coder::ToLog;
@@ -50,7 +50,7 @@
type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;
/// In case of enabled sponsoring, but no sponsoring fee limit set,
/// this value will be used implicitly
- type DefaultSponsoringFeeLimit: Get<u128>;
+ type DefaultSponsoringFeeLimit: Get<U256>;
}
#[pallet::error]
@@ -124,7 +124,7 @@
pub(super) type SponsoringFeeLimit<T: Config> = StorageMap<
Hasher = Twox128,
Key = H160,
- Value = u128,
+ Value = U256,
QueryKind = ValueQuery,
OnEmpty = T::DefaultSponsoringFeeLimit,
>;
@@ -366,7 +366,7 @@
}
/// Set maximum for gas limit of transaction
- pub fn set_sponsoring_fee_limit(contract: H160, fee_limit: u128) {
+ pub fn set_sponsoring_fee_limit(contract: H160, fee_limit: U256) {
<SponsoringFeeLimit<T>>::insert(contract, fee_limit);
}
pallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterbothbinary blob — no preview
pallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -32,7 +32,7 @@
}
/// @title Magic contract, which allows users to reconfigure other contracts
-/// @dev the ERC-165 identifier for this interface is 0xd77fab70
+/// @dev the ERC-165 identifier for this interface is 0x172cb4fb
contract ContractHelpers is Dummy, ERC165, ContractHelpersEvents {
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
@@ -203,9 +203,9 @@
dummy = 0;
}
- /// @dev EVM selector for this function is: 0x1c362eb4,
- /// or in textual repr: setSponsoringFeeLimit(address,uint128)
- function setSponsoringFeeLimit(address contractAddress, uint128 feeLimit)
+ /// @dev EVM selector for this function is: 0x03aed665,
+ /// or in textual repr: setSponsoringFeeLimit(address,uint256)
+ function setSponsoringFeeLimit(address contractAddress, uint256 feeLimit)
public
{
require(false, stub_error);
@@ -219,7 +219,7 @@
function getSponsoringFeeLimit(address contractAddress)
public
view
- returns (uint128)
+ returns (uint256)
{
require(false, stub_error);
contractAddress;
pallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -17,7 +17,7 @@
pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev = "a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev = "9ee7d6e57e03a2575cbab79431774b56f170018e" }
fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
[dependencies.codec]
pallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-transaction-payment/src/lib.rs
+++ b/pallets/evm-transaction-payment/src/lib.rs
@@ -22,7 +22,7 @@
use fp_evm::WithdrawReason;
use frame_support::traits::IsSubType;
pub use pallet::*;
-use pallet_evm::{account::CrossAccountId, EnsureAddressOrigin, FeeCalculator};
+use pallet_evm::{account::CrossAccountId, EnsureAddressOrigin};
use sp_core::{H160, U256};
use sp_runtime::{TransactionOutcome, DispatchError};
use up_sponsorship::SponsorshipHandler;
@@ -33,10 +33,20 @@
use sp_std::vec::Vec;
+ /// Contains call data
+ pub struct CallContext {
+ /// Max fee for transaction - gasLimit * gasPrice
+ pub max_fee: U256,
+ }
+
#[pallet::config]
pub trait Config: frame_system::Config + pallet_evm::account::Config {
/// Loosly-coupled handlers for evm call sponsoring
- type EvmSponsorshipHandler: SponsorshipHandler<Self::CrossAccountId, (H160, Vec<u8>), u128>;
+ type EvmSponsorshipHandler: SponsorshipHandler<
+ Self::CrossAccountId,
+ (H160, Vec<u8>),
+ CallContext,
+ >;
}
#[pallet::pallet]
@@ -55,10 +65,11 @@
match reason {
WithdrawReason::Call { target, input } => {
let origin_sub = T::CrossAccountId::from_eth(origin);
+ let call_context = CallContext { max_fee };
T::EvmSponsorshipHandler::get_sponsor(
&origin_sub,
&(*target, input.clone()),
- &max_fee.as_u128(),
+ &call_context,
)
}
_ => None,
@@ -68,12 +79,12 @@
/// Implements sponsoring for evm calls performed from pallet-evm (via api.tx.ethereum.transact/api.tx.evm.call)
pub struct BridgeSponsorshipHandler<T>(PhantomData<T>);
-impl<T, C> SponsorshipHandler<T::AccountId, C, u128> for BridgeSponsorshipHandler<T>
+impl<T, C> SponsorshipHandler<T::AccountId, C, ()> for BridgeSponsorshipHandler<T>
where
T: Config + pallet_evm::Config,
C: IsSubType<pallet_evm::Call<T>>,
{
- fn get_sponsor(who: &T::AccountId, call: &C, _fee_limit: &u128) -> Option<T::AccountId> {
+ fn get_sponsor(who: &T::AccountId, call: &C, _call_context: &()) -> Option<T::AccountId> {
match call.is_sub_type()? {
pallet_evm::Call::call {
source,
@@ -90,6 +101,7 @@
.ok()?;
let who = T::CrossAccountId::from_sub(who.clone());
let max_fee = max_fee_per_gas.saturating_mul((*gas_limit).into());
+ let call_context = CallContext { max_fee };
// Effects from EvmSponsorshipHandler are applied by pallet_evm::runner
// TODO: Should we implement simulation mode (test, but do not apply effects) in `up-sponsorship`?
let sponsor = frame_support::storage::with_transaction(|| {
@@ -97,7 +109,7 @@
T::EvmSponsorshipHandler::get_sponsor(
&who,
&(*target, input.clone()),
- &max_fee.try_into().unwrap(),
+ &call_context,
),
))
})
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -24,7 +24,7 @@
sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.27' }
frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e" }
log = { version = "0.4.14", default-features = false }
[dev-dependencies]
runtime/common/config/sponsoring.rsdiffbeforeafterboth--- a/runtime/common/config/sponsoring.rs
+++ b/runtime/common/config/sponsoring.rs
@@ -14,16 +14,17 @@
// You should have received a copy of the GNU General Public License
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-use frame_support::parameter_types;
use crate::{
runtime_common::{sponsoring::UniqueSponsorshipHandler},
Runtime,
};
-use up_common::{types::BlockNumber, constants::*};
+use frame_support::parameter_types;
+use sp_core::U256;
+use up_common::{constants::*, types::BlockNumber};
parameter_types! {
pub const DefaultSponsoringRateLimit: BlockNumber = 1 * DAYS;
- pub const DefaultSponsoringFeeLimit: u128 = u128::MAX;
+ pub const DefaultSponsoringFeeLimit: U256 = U256::MAX;
}
type SponsorshipHandler = (
runtime/common/ethereum/sponsoring.rsdiffbeforeafterboth--- a/runtime/common/ethereum/sponsoring.rs
+++ b/runtime/common/ethereum/sponsoring.rs
@@ -16,27 +16,31 @@
//! Implements EVM sponsoring logic via TransactionValidityHack
+use core::{convert::TryInto, marker::PhantomData};
use evm_coder::{Call, abi::AbiReader};
use pallet_common::{CollectionHandle, eth::map_eth_to_id};
+use pallet_evm::account::CrossAccountId;
+use pallet_evm_transaction_payment::CallContext;
+use pallet_nonfungible::{
+ Config as NonfungibleConfig,
+ erc::{
+ UniqueNFTCall, ERC721UniqueExtensionsCall, ERC721MintableCall, ERC721Call,
+ TokenPropertiesCall,
+ },
+};
+use pallet_fungible::{
+ Config as FungibleConfig,
+ erc::{UniqueFungibleCall, ERC20Call},
+};
+use pallet_refungible::Config as RefungibleConfig;
+use pallet_unique::Config as UniqueConfig;
use sp_core::H160;
use sp_std::prelude::*;
+use up_data_structs::{CollectionMode, CreateItemData, CreateNftData, TokenId};
use up_sponsorship::SponsorshipHandler;
-use core::marker::PhantomData;
-use core::convert::TryInto;
-use pallet_evm::account::CrossAccountId;
-use up_data_structs::{TokenId, CreateItemData, CreateNftData, CollectionMode};
-use pallet_unique::Config as UniqueConfig;
use crate::{Runtime, runtime_common::sponsoring::*};
-use pallet_nonfungible::erc::{
- UniqueNFTCall, ERC721UniqueExtensionsCall, ERC721MintableCall, ERC721Call, TokenPropertiesCall,
-};
-use pallet_fungible::erc::{UniqueFungibleCall, ERC20Call};
-use pallet_fungible::Config as FungibleConfig;
-use pallet_nonfungible::Config as NonfungibleConfig;
-use pallet_refungible::Config as RefungibleConfig;
-
pub type EvmSponsorshipHandler = (
UniqueEthSponsorshipHandler<Runtime>,
pallet_evm_contract_helpers::HelpersContractSponsoring<Runtime>,
@@ -44,12 +48,13 @@
pub struct UniqueEthSponsorshipHandler<T: UniqueConfig>(PhantomData<*const T>);
impl<T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig>
- SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>), u128> for UniqueEthSponsorshipHandler<T>
+ SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>), CallContext>
+ for UniqueEthSponsorshipHandler<T>
{
fn get_sponsor(
who: &T::CrossAccountId,
call: &(H160, Vec<u8>),
- _fee_limit: &u128,
+ _fee_limit: &CallContext,
) -> Option<T::CrossAccountId> {
let collection_id = map_eth_to_id(&call.0)?;
let collection = <CollectionHandle<T>>::new(collection_id)?;
runtime/common/sponsoring.rsdiffbeforeafterboth--- a/runtime/common/sponsoring.rs
+++ b/runtime/common/sponsoring.rs
@@ -224,12 +224,12 @@
}
pub struct UniqueSponsorshipHandler<T>(PhantomData<T>);
-impl<T, C> SponsorshipHandler<T::AccountId, C, u128> for UniqueSponsorshipHandler<T>
+impl<T, C> SponsorshipHandler<T::AccountId, C, ()> for UniqueSponsorshipHandler<T>
where
T: Config,
C: IsSubType<UniqueCall<T>>,
{
- fn get_sponsor(who: &T::AccountId, call: &C, _fee_limit: &u128) -> Option<T::AccountId> {
+ fn get_sponsor(who: &T::AccountId, call: &C, _call_context: &()) -> Option<T::AccountId> {
match IsSubType::<UniqueCall<T>>::is_sub_type(call)? {
UniqueCall::set_token_properties {
collection_id,
runtime/opal/Cargo.tomldiffbeforeafterboth1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Opal Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'opal-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version = "0.9.27"1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std', 'opal-runtime']20runtime-benchmarks = [21 'hex-literal',22 'frame-benchmarking',23 'frame-support/runtime-benchmarks',24 'frame-system-benchmarking',25 'frame-system/runtime-benchmarks',26 'pallet-ethereum/runtime-benchmarks',27 'pallet-evm-migration/runtime-benchmarks',28 'pallet-evm-coder-substrate/runtime-benchmarks',29 'pallet-balances/runtime-benchmarks',30 'pallet-timestamp/runtime-benchmarks',31 'pallet-common/runtime-benchmarks',32 'pallet-structure/runtime-benchmarks',33 'pallet-fungible/runtime-benchmarks',34 'pallet-refungible/runtime-benchmarks',35 'pallet-nonfungible/runtime-benchmarks',36 'pallet-proxy-rmrk-core/runtime-benchmarks',37 'pallet-proxy-rmrk-equip/runtime-benchmarks',38 'pallet-unique/runtime-benchmarks',39 'pallet-inflation/runtime-benchmarks',40 'pallet-app-promotion/runtime-benchmarks',41 'pallet-unique-scheduler/runtime-benchmarks',42 'pallet-xcm/runtime-benchmarks',43 'sp-runtime/runtime-benchmarks',44 'xcm-builder/runtime-benchmarks',45]46try-runtime = [47 'frame-try-runtime',48 'frame-executive/try-runtime',49 'frame-system/try-runtime',50]51std = [52 'codec/std',53 'cumulus-pallet-aura-ext/std',54 'cumulus-pallet-parachain-system/std',55 'cumulus-pallet-xcm/std',56 'cumulus-pallet-xcmp-queue/std',57 'cumulus-primitives-core/std',58 'cumulus-primitives-utility/std',59 'frame-try-runtime/std',60 'frame-executive/std',61 'frame-support/std',62 'frame-system/std',63 'frame-system-rpc-runtime-api/std',64 'pallet-aura/std',65 'pallet-balances/std',66 # 'pallet-contracts/std',67 # 'pallet-contracts-primitives/std',68 # 'pallet-contracts-rpc-runtime-api/std',69 # 'pallet-contract-helpers/std',70 'pallet-randomness-collective-flip/std',71 'pallet-sudo/std',72 'pallet-timestamp/std',73 'pallet-transaction-payment/std',74 'pallet-transaction-payment-rpc-runtime-api/std',75 'pallet-treasury/std',76 # 'pallet-vesting/std',77 'pallet-evm/std',78 'pallet-evm-migration/std',79 'pallet-evm-contract-helpers/std',80 'pallet-evm-transaction-payment/std',81 'pallet-evm-coder-substrate/std',82 'pallet-ethereum/std',83 'pallet-base-fee/std',84 'fp-rpc/std',85 'up-rpc/std',86 'app-promotion-rpc/std',87 'fp-evm-mapping/std',88 'fp-self-contained/std',89 'parachain-info/std',90 'serde',91 'pallet-inflation/std',92 'pallet-configuration/std',93 'pallet-app-promotion/std',94 'pallet-common/std',95 'pallet-structure/std',96 'pallet-fungible/std',97 'pallet-refungible/std',98 'pallet-nonfungible/std',99 'pallet-proxy-rmrk-core/std',100 'pallet-proxy-rmrk-equip/std',101 'pallet-unique/std',102 'pallet-unique-scheduler/std',103 'pallet-charge-transaction/std',104 'up-data-structs/std',105 'sp-api/std',106 'sp-block-builder/std',107 "sp-consensus-aura/std",108 'sp-core/std',109 'sp-inherents/std',110 'sp-io/std',111 'sp-offchain/std',112 'sp-runtime/std',113 'sp-session/std',114 'sp-std/std',115 'sp-transaction-pool/std',116 'sp-version/std',117 'xcm/std',118 'xcm-builder/std',119 'xcm-executor/std',120 'up-common/std',121 'rmrk-rpc/std',122 'evm-coder/std',123 'up-sponsorship/std',124125 "orml-vesting/std",126]127limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']128opal-runtime = ['refungible', 'scheduler', 'rmrk', 'app-promotion']129130refungible = []131scheduler = []132rmrk = []133app-promotion = []134135################################################################################136# Substrate Dependencies137138[dependencies.codec]139default-features = false140features = ['derive']141package = 'parity-scale-codec'142version = '3.1.2'143144[dependencies.frame-benchmarking]145default-features = false146git = "https://github.com/paritytech/substrate"147optional = true148branch = "polkadot-v0.9.27"149150[dependencies.frame-try-runtime]151default-features = false152git = "https://github.com/paritytech/substrate"153optional = true154branch = "polkadot-v0.9.27"155156[dependencies.frame-executive]157default-features = false158git = "https://github.com/paritytech/substrate"159branch = "polkadot-v0.9.27"160161[dependencies.frame-support]162default-features = false163git = "https://github.com/paritytech/substrate"164branch = "polkadot-v0.9.27"165166[dependencies.frame-system]167default-features = false168git = "https://github.com/paritytech/substrate"169branch = "polkadot-v0.9.27"170171[dependencies.frame-system-benchmarking]172default-features = false173git = "https://github.com/paritytech/substrate"174optional = true175branch = "polkadot-v0.9.27"176177[dependencies.frame-system-rpc-runtime-api]178default-features = false179git = "https://github.com/paritytech/substrate"180branch = "polkadot-v0.9.27"181182[dependencies.hex-literal]183optional = true184version = '0.3.3'185186[dependencies.serde]187default-features = false188features = ['derive']189optional = true190version = '1.0.130'191192[dependencies.pallet-aura]193default-features = false194git = "https://github.com/paritytech/substrate"195branch = "polkadot-v0.9.27"196197[dependencies.pallet-balances]198default-features = false199git = "https://github.com/paritytech/substrate"200branch = "polkadot-v0.9.27"201202# Contracts specific packages203# [dependencies.pallet-contracts]204# git = 'https://github.com/paritytech/substrate'205# default-features = false206# branch = 'master'207# version = '4.0.0-dev'208209# [dependencies.pallet-contracts-primitives]210# git = 'https://github.com/paritytech/substrate'211# default-features = false212# branch = 'master'213# version = '4.0.0-dev'214215# [dependencies.pallet-contracts-rpc-runtime-api]216# git = 'https://github.com/paritytech/substrate'217# default-features = false218# branch = 'master'219# version = '4.0.0-dev'220221[dependencies.pallet-randomness-collective-flip]222default-features = false223git = "https://github.com/paritytech/substrate"224branch = "polkadot-v0.9.27"225226[dependencies.pallet-sudo]227default-features = false228git = "https://github.com/paritytech/substrate"229branch = "polkadot-v0.9.27"230231[dependencies.pallet-timestamp]232default-features = false233git = "https://github.com/paritytech/substrate"234branch = "polkadot-v0.9.27"235236[dependencies.pallet-transaction-payment]237default-features = false238git = "https://github.com/paritytech/substrate"239branch = "polkadot-v0.9.27"240241[dependencies.pallet-transaction-payment-rpc-runtime-api]242default-features = false243git = "https://github.com/paritytech/substrate"244branch = "polkadot-v0.9.27"245246[dependencies.pallet-treasury]247default-features = false248git = "https://github.com/paritytech/substrate"249branch = "polkadot-v0.9.27"250251# [dependencies.pallet-vesting]252# default-features = false253# git = 'https://github.com/paritytech/substrate'254# branch = 'master'255256[dependencies.sp-arithmetic]257default-features = false258git = "https://github.com/paritytech/substrate"259branch = "polkadot-v0.9.27"260261[dependencies.sp-api]262default-features = false263git = "https://github.com/paritytech/substrate"264branch = "polkadot-v0.9.27"265266[dependencies.sp-block-builder]267default-features = false268git = "https://github.com/paritytech/substrate"269branch = "polkadot-v0.9.27"270271[dependencies.sp-core]272default-features = false273git = "https://github.com/paritytech/substrate"274branch = "polkadot-v0.9.27"275276[dependencies.sp-consensus-aura]277default-features = false278git = "https://github.com/paritytech/substrate"279branch = "polkadot-v0.9.27"280281[dependencies.sp-inherents]282default-features = false283git = "https://github.com/paritytech/substrate"284branch = "polkadot-v0.9.27"285286[dependencies.sp-io]287default-features = false288git = "https://github.com/paritytech/substrate"289branch = "polkadot-v0.9.27"290291[dependencies.sp-offchain]292default-features = false293git = "https://github.com/paritytech/substrate"294branch = "polkadot-v0.9.27"295296[dependencies.sp-runtime]297default-features = false298git = "https://github.com/paritytech/substrate"299branch = "polkadot-v0.9.27"300301[dependencies.sp-session]302default-features = false303git = "https://github.com/paritytech/substrate"304branch = "polkadot-v0.9.27"305306[dependencies.sp-std]307default-features = false308git = "https://github.com/paritytech/substrate"309branch = "polkadot-v0.9.27"310311[dependencies.sp-transaction-pool]312default-features = false313git = "https://github.com/paritytech/substrate"314branch = "polkadot-v0.9.27"315316[dependencies.sp-version]317default-features = false318git = "https://github.com/paritytech/substrate"319branch = "polkadot-v0.9.27"320321[dependencies.smallvec]322version = '1.6.1'323324################################################################################325# Cumulus dependencies326327[dependencies.parachain-info]328default-features = false329git = "https://github.com/paritytech/cumulus"330branch = "polkadot-v0.9.27"331332[dependencies.cumulus-pallet-aura-ext]333git = "https://github.com/paritytech/cumulus"334branch = "polkadot-v0.9.27"335default-features = false336337[dependencies.cumulus-pallet-parachain-system]338git = "https://github.com/paritytech/cumulus"339branch = "polkadot-v0.9.27"340default-features = false341342[dependencies.cumulus-primitives-core]343git = "https://github.com/paritytech/cumulus"344branch = "polkadot-v0.9.27"345default-features = false346347[dependencies.cumulus-pallet-xcm]348git = "https://github.com/paritytech/cumulus"349branch = "polkadot-v0.9.27"350default-features = false351352[dependencies.cumulus-pallet-dmp-queue]353git = "https://github.com/paritytech/cumulus"354branch = "polkadot-v0.9.27"355default-features = false356357[dependencies.cumulus-pallet-xcmp-queue]358git = "https://github.com/paritytech/cumulus"359branch = "polkadot-v0.9.27"360default-features = false361362[dependencies.cumulus-primitives-utility]363git = "https://github.com/paritytech/cumulus"364branch = "polkadot-v0.9.27"365default-features = false366367[dependencies.cumulus-primitives-timestamp]368git = "https://github.com/paritytech/cumulus"369branch = "polkadot-v0.9.27"370default-features = false371372################################################################################373# Polkadot dependencies374375[dependencies.polkadot-parachain]376git = "https://github.com/paritytech/polkadot"377branch = "release-v0.9.27"378default-features = false379380[dependencies.xcm]381git = "https://github.com/paritytech/polkadot"382branch = "release-v0.9.27"383default-features = false384385[dependencies.xcm-builder]386git = "https://github.com/paritytech/polkadot"387branch = "release-v0.9.27"388default-features = false389390[dependencies.xcm-executor]391git = "https://github.com/paritytech/polkadot"392branch = "release-v0.9.27"393default-features = false394395[dependencies.pallet-xcm]396git = "https://github.com/paritytech/polkadot"397branch = "release-v0.9.27"398default-features = false399400[dependencies.orml-vesting]401git = "https://github.com/open-web3-stack/open-runtime-module-library"402branch = "polkadot-v0.9.27"403version = "0.4.1-dev"404default-features = false405406################################################################################407# local dependencies408409[dependencies]410log = { version = "0.4.16", default-features = false }411up-common = { path = "../../primitives/common", default-features = false }412scale-info = { version = "2.0.1", default-features = false, features = [413 "derive",414] }415derivative = "2.2.0"416pallet-unique = { path = '../../pallets/unique', default-features = false }417up-rpc = { path = "../../primitives/rpc", default-features = false }418app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}419rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }420fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }421pallet-inflation = { path = '../../pallets/inflation', default-features = false }422pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }423up-data-structs = { path = '../../primitives/data-structs', default-features = false }424pallet-configuration = { default-features = false, path = "../../pallets/configuration" }425pallet-common = { default-features = false, path = "../../pallets/common" }426pallet-structure = { default-features = false, path = "../../pallets/structure" }427pallet-fungible = { default-features = false, path = "../../pallets/fungible" }428pallet-refungible = { default-features = false, path = "../../pallets/refungible" }429pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }430pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }431pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }432pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }433# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }434pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }435pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }436pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }437pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }438pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }439pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }440pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }441pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }442fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }443fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }444evm-coder = { default-features = false, path = '../../crates/evm-coder' }445up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }446447################################################################################448# Build Dependencies449450[build-dependencies.substrate-wasm-builder]451git = "https://github.com/paritytech/substrate"452branch = "polkadot-v0.9.27"runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -432,7 +432,7 @@
pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
+pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
@@ -443,7 +443,7 @@
fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e" }
################################################################################
# Build Dependencies
runtime/tests/Cargo.tomldiffbeforeafterboth--- a/runtime/tests/Cargo.toml
+++ b/runtime/tests/Cargo.toml
@@ -43,4 +43,4 @@
scale-info = "*"
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e" }
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -425,7 +425,7 @@
pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
+pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
@@ -437,7 +437,7 @@
fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", rev = "89a37c5a489f426cc7a42d7b94019974093a052d" }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="a8ec4bf8d5ded662d96da6d8fb211b0bbf6617b3" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", rev="9ee7d6e57e03a2575cbab79431774b56f170018e" }
################################################################################
# Build Dependencies
tests/src/eth/api/ContractHelpers.soldiffbeforeafterboth--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -23,7 +23,7 @@
}
/// @title Magic contract, which allows users to reconfigure other contracts
-/// @dev the ERC-165 identifier for this interface is 0xd77fab70
+/// @dev the ERC-165 identifier for this interface is 0x172cb4fb
interface ContractHelpers is Dummy, ERC165, ContractHelpersEvents {
/// Get user, which deployed specified contract
/// @dev May return zero address in case if contract is deployed
@@ -131,9 +131,9 @@
function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)
external;
- /// @dev EVM selector for this function is: 0x1c362eb4,
- /// or in textual repr: setSponsoringFeeLimit(address,uint128)
- function setSponsoringFeeLimit(address contractAddress, uint128 feeLimit)
+ /// @dev EVM selector for this function is: 0x03aed665,
+ /// or in textual repr: setSponsoringFeeLimit(address,uint256)
+ function setSponsoringFeeLimit(address contractAddress, uint256 feeLimit)
external;
/// @dev EVM selector for this function is: 0xc3fdc9ee,
@@ -141,7 +141,7 @@
function getSponsoringFeeLimit(address contractAddress)
external
view
- returns (uint128);
+ returns (uint256);
/// Is specified user present in contract allow list
/// @dev Contract owner always implicitly included
tests/src/eth/contractSponsoring.test.tsdiffbeforeafterboth--- a/tests/src/eth/contractSponsoring.test.ts
+++ b/tests/src/eth/contractSponsoring.test.ts
@@ -558,7 +558,7 @@
const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
const flipper = await deployFlipper(web3, owner);
const helpers = contractHelpers(web3, owner);
- expect(await helpers.methods.getSponsoringFeeLimit(flipper.options.address).call()).to.be.equals('340282366920938463463374607431768211455');
+ expect(await helpers.methods.getSponsoringFeeLimit(flipper.options.address).call()).to.be.equals('115792089237316195423570985008687907853269984665640564039457584007913129639935');
});
itWeb3('Set fee limit', async ({api, web3, privateKeyWrapper}) => {
tests/src/eth/util/contractHelpersAbi.jsondiffbeforeafterboth--- a/tests/src/eth/util/contractHelpersAbi.json
+++ b/tests/src/eth/util/contractHelpersAbi.json
@@ -135,7 +135,7 @@
}
],
"name": "getSponsoringFeeLimit",
- "outputs": [{ "internalType": "uint128", "name": "", "type": "uint128" }],
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
@@ -225,7 +225,7 @@
"name": "contractAddress",
"type": "address"
},
- { "internalType": "uint128", "name": "feeLimit", "type": "uint128" }
+ { "internalType": "uint256", "name": "feeLimit", "type": "uint256" }
],
"name": "setSponsoringFeeLimit",
"outputs": [],