--- 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", ] --- 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', ] } --- 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 { >::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::)?; >::set_sponsoring_fee_limit(contract_address, fee_limit.into()); Ok(()) } - fn get_sponsoring_fee_limit(&self, contract_address: address) -> Result { - Ok(>::get(contract_address) - .try_into() - .map_err(|_| "fee limit > u128::MAX")?) + fn get_sponsoring_fee_limit(&self, contract_address: address) -> Result { + Ok(>::get(contract_address)) } /// Is specified user present in contract allow list @@ -380,13 +379,13 @@ /// Bridge to pallet-sponsoring pub struct HelpersContractSponsoring(PhantomData<*const T>); -impl SponsorshipHandler), u128> +impl SponsorshipHandler), CallContext> for HelpersContractSponsoring { fn get_sponsor( who: &T::CrossAccountId, call: &(H160, Vec), - fee_limit: &u128, + call_context: &CallContext, ) -> Option { let (contract_address, _) = call; let mode = >::sponsoring_mode(*contract_address); @@ -417,7 +416,7 @@ let sponsored_fee_limit = >::get(contract_address); - if *fee_limit > sponsored_fee_limit { + if call_context.max_fee > sponsored_fee_limit { return None; } --- 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; /// In case of enabled sponsoring, but no sponsoring fee limit set, /// this value will be used implicitly - type DefaultSponsoringFeeLimit: Get; + type DefaultSponsoringFeeLimit: Get; } #[pallet::error] @@ -124,7 +124,7 @@ pub(super) type SponsoringFeeLimit = 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) { >::insert(contract, fee_limit); } --- 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; --- 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] --- 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), u128>; + type EvmSponsorshipHandler: SponsorshipHandler< + Self::CrossAccountId, + (H160, Vec), + 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(PhantomData); -impl SponsorshipHandler for BridgeSponsorshipHandler +impl SponsorshipHandler for BridgeSponsorshipHandler where T: Config + pallet_evm::Config, C: IsSubType>, { - fn get_sponsor(who: &T::AccountId, call: &C, _fee_limit: &u128) -> Option { + fn get_sponsor(who: &T::AccountId, call: &C, _call_context: &()) -> Option { 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, ), )) }) --- 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] --- 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 . -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 = ( --- 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, pallet_evm_contract_helpers::HelpersContractSponsoring, @@ -44,12 +48,13 @@ pub struct UniqueEthSponsorshipHandler(PhantomData<*const T>); impl - SponsorshipHandler), u128> for UniqueEthSponsorshipHandler + SponsorshipHandler), CallContext> + for UniqueEthSponsorshipHandler { fn get_sponsor( who: &T::CrossAccountId, call: &(H160, Vec), - _fee_limit: &u128, + _fee_limit: &CallContext, ) -> Option { let collection_id = map_eth_to_id(&call.0)?; let collection = >::new(collection_id)?; --- a/runtime/common/sponsoring.rs +++ b/runtime/common/sponsoring.rs @@ -224,12 +224,12 @@ } pub struct UniqueSponsorshipHandler(PhantomData); -impl SponsorshipHandler for UniqueSponsorshipHandler +impl SponsorshipHandler for UniqueSponsorshipHandler where T: Config, C: IsSubType>, { - fn get_sponsor(who: &T::AccountId, call: &C, _fee_limit: &u128) -> Option { + fn get_sponsor(who: &T::AccountId, call: &C, _call_context: &()) -> Option { match IsSubType::>::is_sub_type(call)? { UniqueCall::set_token_properties { collection_id, --- a/runtime/opal/Cargo.toml +++ b/runtime/opal/Cargo.toml @@ -431,7 +431,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 } @@ -442,7 +442,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 --- 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 --- 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" } --- 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 --- 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 --- 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}) => { --- 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": [],