git.delta.rocks / unique-network / refs/commits / 4afd851ef43b

difftreelog

path: add stubs

Trubnikov Sergey2022-08-05parent: #ee664e3.patch.diff
in: master

3 files changed

modifiedpallets/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
@@ -3,6 +3,12 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
+// Anonymous struct
+struct Tuple0 {
+	address field_0;
+	uint256 field_1;
+}
+
 // Common stubs holder
 contract Dummy {
 	uint8 dummy;
@@ -21,7 +27,7 @@
 	}
 }
 
-// Selector: 7b4866f9
+// Selector: 06fc42e9
 contract ContractHelpers is Dummy, ERC165 {
 	// Selector: contractOwner(address) 5152b14c
 	function contractOwner(address contractAddress)
@@ -35,10 +41,45 @@
 		return 0x0000000000000000000000000000000000000000;
 	}
 
-	// Selector: sponsoringEnabled(address) 6027dc61
-	function sponsoringEnabled(address contractAddress)
+	// Selector: setSponsor(address,address) f01fba93
+	function setSponsor(address contractAddress, address sponsor) public {
+		require(false, stub_error);
+		contractAddress;
+		sponsor;
+		dummy = 0;
+	}
+
+	// Selector: confirmSponsorship(address) abc00001
+	function confirmSponsorship(address contractAddress) public {
+		require(false, stub_error);
+		contractAddress;
+		dummy = 0;
+	}
+
+	// Selector: getSponsor(address) 743fc745
+	function getSponsor(address contractAddress)
 		public
 		view
+		returns (Tuple0 memory)
+	{
+		require(false, stub_error);
+		contractAddress;
+		dummy;
+		return Tuple0(0x0000000000000000000000000000000000000000, 0);
+	}
+
+	// Selector: hasSponsor(address) 97418603
+	function hasSponsor(address contractAddress) public view returns (bool) {
+		require(false, stub_error);
+		contractAddress;
+		dummy;
+		return false;
+	}
+
+	// Selector: hasPendingSponsor(address) 39b9b242
+	function hasPendingSponsor(address contractAddress)
+		public
+		view
 		returns (bool)
 	{
 		require(false, stub_error);
@@ -47,14 +88,16 @@
 		return false;
 	}
 
-	// Deprecated
-	//
-	// Selector: toggleSponsoring(address,bool) fcac6d86
-	function toggleSponsoring(address contractAddress, bool enabled) public {
+	// Selector: sponsoringEnabled(address) 6027dc61
+	function sponsoringEnabled(address contractAddress)
+		public
+		view
+		returns (bool)
+	{
 		require(false, stub_error);
 		contractAddress;
-		enabled;
-		dummy = 0;
+		dummy;
+		return false;
 	}
 
 	// Selector: setSponsoringMode(address,uint8) fde8a560
modifiedtests/src/eth/api/ContractHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -3,6 +3,12 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
+// Anonymous struct
+struct Tuple0 {
+	address field_0;
+	uint256 field_1;
+}
+
 // Common stubs holder
 interface Dummy {
 
@@ -12,7 +18,7 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-// Selector: 7b4866f9
+// Selector: 06fc42e9
 interface ContractHelpers is Dummy, ERC165 {
 	// Selector: contractOwner(address) 5152b14c
 	function contractOwner(address contractAddress)
@@ -20,16 +26,32 @@
 		view
 		returns (address);
 
+	// Selector: setSponsor(address,address) f01fba93
+	function setSponsor(address contractAddress, address sponsor) external;
+
+	// Selector: confirmSponsorship(address) abc00001
+	function confirmSponsorship(address contractAddress) external;
+
+	// Selector: getSponsor(address) 743fc745
+	function getSponsor(address contractAddress)
+		external
+		view
+		returns (Tuple0 memory);
+
+	// Selector: hasSponsor(address) 97418603
+	function hasSponsor(address contractAddress) external view returns (bool);
+
+	// Selector: hasPendingSponsor(address) 39b9b242
+	function hasPendingSponsor(address contractAddress)
+		external
+		view
+		returns (bool);
+
 	// Selector: sponsoringEnabled(address) 6027dc61
 	function sponsoringEnabled(address contractAddress)
 		external
 		view
 		returns (bool);
-
-	// Deprecated
-	//
-	// Selector: toggleSponsoring(address,bool) fcac6d86
-	function toggleSponsoring(address contractAddress, bool enabled) external;
 
 	// Selector: setSponsoringMode(address,uint8) fde8a560
 	function setSponsoringMode(address contractAddress, uint8 mode) external;
modifiedtests/src/eth/util/contractHelpersAbi.jsondiffbeforeafterboth
before · tests/src/eth/util/contractHelpersAbi.json
1[2  {3    "inputs": [4      {5        "internalType": "address",6        "name": "contractAddress",7        "type": "address"8      },9      { "internalType": "address", "name": "user", "type": "address" }10    ],11    "name": "allowed",12    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],13    "stateMutability": "view",14    "type": "function"15  },16  {17    "inputs": [18      {19        "internalType": "address",20        "name": "contractAddress",21        "type": "address"22      }23    ],24    "name": "allowlistEnabled",25    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],26    "stateMutability": "view",27    "type": "function"28  },29  {30    "inputs": [31      {32        "internalType": "address",33        "name": "contractAddress",34        "type": "address"35      }36    ],37    "name": "contractOwner",38    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],39    "stateMutability": "view",40    "type": "function"41  },42  {43    "inputs": [44      {45        "internalType": "address",46        "name": "contractAddress",47        "type": "address"48      }49    ],50    "name": "getSponsoringRateLimit",51    "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }],52    "stateMutability": "view",53    "type": "function"54  },55  {56    "inputs": [57      {58        "internalType": "address",59        "name": "contractAddress",60        "type": "address"61      },62      { "internalType": "uint8", "name": "mode", "type": "uint8" }63    ],64    "name": "setSponsoringMode",65    "outputs": [],66    "stateMutability": "nonpayable",67    "type": "function"68  },69  {70    "inputs": [71      {72        "internalType": "address",73        "name": "contractAddress",74        "type": "address"75      },76      { "internalType": "uint32", "name": "rateLimit", "type": "uint32" }77    ],78    "name": "setSponsoringRateLimit",79    "outputs": [],80    "stateMutability": "nonpayable",81    "type": "function"82  },83  {84    "inputs": [85      {86        "internalType": "address",87        "name": "contractAddress",88        "type": "address"89      }90    ],91    "name": "sponsoringEnabled",92    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],93    "stateMutability": "view",94    "type": "function"95  },96  {97    "inputs": [98      {99        "internalType": "address",100        "name": "contractAddress",101        "type": "address"102      }103    ],104    "name": "sponsoringMode",105    "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],106    "stateMutability": "view",107    "type": "function"108  },109  {110    "inputs": [111      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }112    ],113    "name": "supportsInterface",114    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],115    "stateMutability": "view",116    "type": "function"117  },118  {119    "inputs": [120      {121        "internalType": "address",122        "name": "contractAddress",123        "type": "address"124      },125      { "internalType": "address", "name": "user", "type": "address" },126      { "internalType": "bool", "name": "allowed", "type": "bool" }127    ],128    "name": "toggleAllowed",129    "outputs": [],130    "stateMutability": "nonpayable",131    "type": "function"132  },133  {134    "inputs": [135      {136        "internalType": "address",137        "name": "contractAddress",138        "type": "address"139      },140      { "internalType": "bool", "name": "enabled", "type": "bool" }141    ],142    "name": "toggleAllowlist",143    "outputs": [],144    "stateMutability": "nonpayable",145    "type": "function"146  },147  {148    "inputs": [149      {150        "internalType": "address",151        "name": "contractAddress",152        "type": "address"153      },154      { "internalType": "bool", "name": "enabled", "type": "bool" }155    ],156    "name": "toggleSponsoring",157    "outputs": [],158    "stateMutability": "nonpayable",159    "type": "function"160  }161]