git.delta.rocks / unique-network / refs/commits / 66ac31cbfe8b

difftreelog

feat getSponsoringRateLimit helper call

Yaroslav Bolyukin2021-09-02parent: #4d7077f.patch.diff
in: master

5 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,10 @@
-.PHONY: _eth_codegen
-_eth_codegen:
+.PHONY: _help
+_help:
+	@echo "regenerate_solidity - generate stubs/interfaces for contracts defined in native (via evm-coder)"
+	@echo "evm_stubs - recompile contract stubs"
+	@echo "bench - run frame-benchmarking"
+	@echo "  bench-evm-migration"
+	@echo "  bench-nft"
 
 .PHONY: regenerate_solidity
 regenerate_solidity:
modifiedpallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -8,7 +8,7 @@
 };
 use frame_support::traits::Get;
 use up_sponsorship::SponsorshipHandler;
-use sp_std::vec::Vec;
+use sp_std::{convert::TryInto, vec::Vec};
 
 struct ContractHelpers<T: Config>(SubstrateRecorder<T>);
 
@@ -50,6 +50,13 @@
 		Ok(())
 	}
 
+	fn get_sponsoring_rate_limit(&self, contract_address: address) -> Result<uint32> {
+		self.0.consume_sload()?;
+		Ok(<SponsoringRateLimit<T>>::get(contract_address)
+			.try_into()
+			.map_err(|_| "rate limit > u32::MAX")?)
+	}
+
 	fn allowed(&self, contract_address: address, user: address) -> Result<bool> {
 		self.0.consume_sload()?;
 		Ok(<Pallet<T>>::allowed(contract_address, user, true))
modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth
before · pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56// Common stubs holder7contract Dummy {8	uint8 dummy;9	string stub_error = "this contract is implemented in native";10}1112contract ContractHelpers is Dummy {13	// Selector: contractOwner(address) 5152b14c14	function contractOwner(address contractAddress)15		public16		view17		returns (address)18	{19		require(false, stub_error);20		contractAddress;21		dummy;22		return 0x0000000000000000000000000000000000000000;23	}2425	// Selector: sponsoringEnabled(address) 6027dc6126	function sponsoringEnabled(address contractAddress)27		public28		view29		returns (bool)30	{31		require(false, stub_error);32		contractAddress;33		dummy;34		return false;35	}3637	// Selector: toggleSponsoring(address,bool) fcac6d8638	function toggleSponsoring(address contractAddress, bool enabled) public {39		require(false, stub_error);40		contractAddress;41		enabled;42		dummy = 0;43	}4445	// Selector: setSponsoringRateLimit(address,uint32) 77b6c90846	function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)47		public48	{49		require(false, stub_error);50		contractAddress;51		rateLimit;52		dummy = 0;53	}5455	// Selector: allowed(address,address) 5c65816556	function allowed(address contractAddress, address user)57		public58		view59		returns (bool)60	{61		require(false, stub_error);62		contractAddress;63		user;64		dummy;65		return false;66	}6768	// Selector: allowlistEnabled(address) c772ef6c69	function allowlistEnabled(address contractAddress)70		public71		view72		returns (bool)73	{74		require(false, stub_error);75		contractAddress;76		dummy;77		return false;78	}7980	// Selector: toggleAllowlist(address,bool) 36de20f581	function toggleAllowlist(address contractAddress, bool enabled) public {82		require(false, stub_error);83		contractAddress;84		enabled;85		dummy = 0;86	}8788	// Selector: toggleAllowed(address,address,bool) 4706cc1c89	function toggleAllowed(90		address contractAddress,91		address user,92		bool allowed93	) public {94		require(false, stub_error);95		contractAddress;96		user;97		allowed;98		dummy = 0;99	}100}
after · pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56// Common stubs holder7contract Dummy {8	uint8 dummy;9	string stub_error = "this contract is implemented in native";10}1112contract ContractHelpers is Dummy {13	// Selector: contractOwner(address) 5152b14c14	function contractOwner(address contractAddress)15		public16		view17		returns (address)18	{19		require(false, stub_error);20		contractAddress;21		dummy;22		return 0x0000000000000000000000000000000000000000;23	}2425	// Selector: sponsoringEnabled(address) 6027dc6126	function sponsoringEnabled(address contractAddress)27		public28		view29		returns (bool)30	{31		require(false, stub_error);32		contractAddress;33		dummy;34		return false;35	}3637	// Selector: toggleSponsoring(address,bool) fcac6d8638	function toggleSponsoring(address contractAddress, bool enabled) public {39		require(false, stub_error);40		contractAddress;41		enabled;42		dummy = 0;43	}4445	// Selector: setSponsoringRateLimit(address,uint32) 77b6c90846	function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)47		public48	{49		require(false, stub_error);50		contractAddress;51		rateLimit;52		dummy = 0;53	}5455	// Selector: getSponsoringRateLimit(address) 610cfabd56	function getSponsoringRateLimit(address contractAddress)57		public58		view59		returns (uint32)60	{61		require(false, stub_error);62		contractAddress;63		dummy;64		return 0;65	}6667	// Selector: allowed(address,address) 5c65816568	function allowed(address contractAddress, address user)69		public70		view71		returns (bool)72	{73		require(false, stub_error);74		contractAddress;75		user;76		dummy;77		return false;78	}7980	// Selector: allowlistEnabled(address) c772ef6c81	function allowlistEnabled(address contractAddress)82		public83		view84		returns (bool)85	{86		require(false, stub_error);87		contractAddress;88		dummy;89		return false;90	}9192	// Selector: toggleAllowlist(address,bool) 36de20f593	function toggleAllowlist(address contractAddress, bool enabled) public {94		require(false, stub_error);95		contractAddress;96		enabled;97		dummy = 0;98	}99100	// Selector: toggleAllowed(address,address,bool) 4706cc1c101	function toggleAllowed(102		address contractAddress,103		address user,104		bool allowed105	) public {106		require(false, stub_error);107		contractAddress;108		user;109		allowed;110		dummy = 0;111	}112}
modifiedtests/src/eth/api/ContractHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -28,6 +28,12 @@
 	function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)
 		external;
 
+	// Selector: getSponsoringRateLimit(address) 610cfabd
+	function getSponsoringRateLimit(address contractAddress)
+		external
+		view
+		returns (uint32);
+
 	// Selector: allowed(address,address) 5c658165
 	function allowed(address contractAddress, address user)
 		external