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]
after · 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": "confirmSponsorship",38    "outputs": [],39    "stateMutability": "nonpayable",40    "type": "function"41  },42  {43    "inputs": [44      {45        "internalType": "address",46        "name": "contractAddress",47        "type": "address"48      }49    ],50    "name": "contractOwner",51    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],52    "stateMutability": "view",53    "type": "function"54  },55  {56    "inputs": [57      {58        "internalType": "address",59        "name": "contractAddress",60        "type": "address"61      }62    ],63    "name": "getSponsor",64    "outputs": [65      {66        "components": [67          { "internalType": "address", "name": "field_0", "type": "address" },68          { "internalType": "uint256", "name": "field_1", "type": "uint256" }69        ],70        "internalType": "struct Tuple0",71        "name": "",72        "type": "tuple"73      }74    ],75    "stateMutability": "view",76    "type": "function"77  },78  {79    "inputs": [80      {81        "internalType": "address",82        "name": "contractAddress",83        "type": "address"84      }85    ],86    "name": "getSponsoringRateLimit",87    "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }],88    "stateMutability": "view",89    "type": "function"90  },91  {92    "inputs": [93      {94        "internalType": "address",95        "name": "contractAddress",96        "type": "address"97      }98    ],99    "name": "hasPendingSponsor",100    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],101    "stateMutability": "view",102    "type": "function"103  },104  {105    "inputs": [106      {107        "internalType": "address",108        "name": "contractAddress",109        "type": "address"110      }111    ],112    "name": "hasSponsor",113    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],114    "stateMutability": "view",115    "type": "function"116  },117  {118    "inputs": [119      {120        "internalType": "address",121        "name": "contractAddress",122        "type": "address"123      },124      { "internalType": "address", "name": "sponsor", "type": "address" }125    ],126    "name": "setSponsor",127    "outputs": [],128    "stateMutability": "nonpayable",129    "type": "function"130  },131  {132    "inputs": [133      {134        "internalType": "address",135        "name": "contractAddress",136        "type": "address"137      },138      { "internalType": "uint8", "name": "mode", "type": "uint8" }139    ],140    "name": "setSponsoringMode",141    "outputs": [],142    "stateMutability": "nonpayable",143    "type": "function"144  },145  {146    "inputs": [147      {148        "internalType": "address",149        "name": "contractAddress",150        "type": "address"151      },152      { "internalType": "uint32", "name": "rateLimit", "type": "uint32" }153    ],154    "name": "setSponsoringRateLimit",155    "outputs": [],156    "stateMutability": "nonpayable",157    "type": "function"158  },159  {160    "inputs": [161      {162        "internalType": "address",163        "name": "contractAddress",164        "type": "address"165      }166    ],167    "name": "sponsoringEnabled",168    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],169    "stateMutability": "view",170    "type": "function"171  },172  {173    "inputs": [174      {175        "internalType": "address",176        "name": "contractAddress",177        "type": "address"178      }179    ],180    "name": "sponsoringMode",181    "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],182    "stateMutability": "view",183    "type": "function"184  },185  {186    "inputs": [187      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }188    ],189    "name": "supportsInterface",190    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],191    "stateMutability": "view",192    "type": "function"193  },194  {195    "inputs": [196      {197        "internalType": "address",198        "name": "contractAddress",199        "type": "address"200      },201      { "internalType": "address", "name": "user", "type": "address" },202      { "internalType": "bool", "name": "allowed", "type": "bool" }203    ],204    "name": "toggleAllowed",205    "outputs": [],206    "stateMutability": "nonpayable",207    "type": "function"208  },209  {210    "inputs": [211      {212        "internalType": "address",213        "name": "contractAddress",214        "type": "address"215      },216      { "internalType": "bool", "name": "enabled", "type": "bool" }217    ],218    "name": "toggleAllowlist",219    "outputs": [],220    "stateMutability": "nonpayable",221    "type": "function"222  }223]