--- a/pallets/evm-contract-helpers/src/eth.rs +++ b/pallets/evm-contract-helpers/src/eth.rs @@ -71,6 +71,10 @@ &T::CrossAccountId::from_eth(sponsor), ) .map_err(dispatch_to_evm::)?; + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -80,6 +84,10 @@ fn self_sponsored_enable(&mut self, caller: caller, contract_address: address) -> Result { Pallet::::self_sponsored_enable(&T::CrossAccountId::from_eth(caller), contract_address) .map_err(dispatch_to_evm::)?; + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -89,6 +97,10 @@ fn remove_sponsor(&mut self, caller: caller, contract_address: address) -> Result { Pallet::::remove_sponsor(&T::CrossAccountId::from_eth(caller), contract_address) .map_err(dispatch_to_evm::)?; + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -100,6 +112,10 @@ fn confirm_sponsorship(&mut self, caller: caller, contract_address: address) -> Result { Pallet::::confirm_sponsorship(&T::CrossAccountId::from_eth(caller), contract_address) .map_err(dispatch_to_evm::)?; + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -146,6 +162,10 @@ >::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::)?; let mode = SponsoringModeT::from_eth(mode).ok_or("unknown mode")?; >::set_sponsoring_mode(contract_address, mode); + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -161,6 +181,10 @@ ) -> Result { >::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::)?; >::set_sponsoring_rate_limit(contract_address, rate_limit.into()); + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -187,6 +211,10 @@ ) -> Result { >::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::)?; >::toggle_allowlist(contract_address, enabled); + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } @@ -199,6 +227,10 @@ ) -> Result { >::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::)?; >::toggle_allowed(contract_address, user, allowed); + + self.recorder().consume_sload()?; + self.recorder().consume_sstore()?; + Ok(()) } }