UNPKG

@ethsub/sol

Version:
1,068 lines 175 kB
{ "contractName": "HandlerRevert", "abi": [ { "inputs": [ { "internalType": "address", "name": "bridgeAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "_bridgeAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_burnList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_contractWhitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "_resourceIDToTokenContractAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_tokenContractAddressToResourceID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "setBurnable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "resourceID", "type": "bytes32" }, { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "setResource", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "executeProposal", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "virtualIncreaseBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridgeAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"_bridgeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_burnList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_contractWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"_resourceIDToTokenContractAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"_tokenContractAddressToResourceID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"executeProposal\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"setBurnable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"}],\"name\":\"setResource\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"virtualIncreaseBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"setBurnable(address)\":{\"params\":{\"contractAddress\":\"Address of contract to be used when making or executing deposits.\"}},\"setResource(bytes32,address)\":{\"params\":{\"contractAddress\":\"Address of contract to be called when a deposit is made and a deposited is executed.\",\"resourceID\":\"ResourceID to be used when making deposits.\"}},\"withdraw(bytes)\":{\"params\":{\"data\":\"ABI-encoded withdrawal params relevant to the handler.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setBurnable(address)\":{\"notice\":\"First verifies {contractAddress} is whitelisted, then sets {_burnList}[{contractAddress}] to true.\"},\"setResource(bytes32,address)\":{\"notice\":\"First verifies {_resourceIDToContractAddress}[{resourceID}] and {_contractAddressToResourceID}[{contractAddress}] are not already set, then sets {_resourceIDToContractAddress} with {contractAddress}, {_contractAddressToResourceID} with {resourceID}, and {_contractWhitelist} to true for {contractAddress}.\"},\"withdraw(bytes)\":{\"notice\":\"Withdraw funds from ERC safes.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/TestContracts.sol\":\"HandlerRevert\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/TestContracts.sol\":{\"keccak256\":\"0x60ff2c8c9a1e197a3b3a19820b8670c07c6c0ed638d90c5b3cfcffefca5607af\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://02ae5df1a136ca8cb7ac665495ba9ba34dd72133584ac2ec003cca99b0cfac65\",\"dweb:/ipfs/QmWGgSiviNBpBcP3KKSn6VEZeF7mNQkNzF3DapEQiWAwHf\"]},\"project:/contracts/handlers/HandlerHelpers.sol\":{\"keccak256\":\"0x9418d0646c373e028595a4a3abf5ac93948ea64efa031f1531c70a0500882d09\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://43e30989056cc8c5f0d2a26cb3a7e8a5d0d51dd2c832fb8d751c353226254871\",\"dweb:/ipfs/QmRpXPeLz7Qjh5qxMW4PyC8qkjrpEJCeCiqfobZyg28y6S\"]},\"project:/contracts/interfaces/IERCHandler.sol\":{\"keccak256\":\"0x4384276611a789db6481e1158d92c280fe5990ec0c375df30dd5e8f8a97cbb4c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3af488536c6d8f6b3090ca9b5fa54718941604a30f58bd66db641a6599a9f296\",\"dweb:/ipfs/QmSm988tQV4XtkCQpTbf2SbdCHp8AcjYZhQLhftPFXrUf2\"]},\"project:/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x07a3b86654f9e1a2d49822e82c7b98b8fe68767c21968c95951079c3048e82dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21e7bc82101b94d832601e5e2707e25ed93e788e1a363196221748090aafbf30\",\"dweb:/ipfs/QmWcjBuFMXvGsicL3DgegAR6BEt7HnuN9SbSSUHEFWzybk\"]}},\"version\":1}", "bytecode": "0x60a060405234801561001057600080fd5b506040516106133803806106138339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166105a761006c6000398061033b528061041152506105a76000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637f79bea8116100665780637f79bea8146101ec578063b8fa373614610212578063c238eea11461023e578063c8ba6c871461025b578063e248cff2146102935761009e565b806307b7ed99146100a35780630968f264146100cb5780630a6d55d814610171578063318c136e146101aa5780636a70d081146101b2575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b031661030a565b005b6100c9600480360360208110156100e157600080fd5b8101906020810181356401000000008111156100fc57600080fd5b82018360208201111561010e57600080fd5b8035906020019184600183028401116401000000008311171561013057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061031b945050505050565b61018e6004803603602081101561018757600080fd5b503561031e565b604080516001600160a01b039092168252519081900360200190f35b61018e610339565b6101d8600480360360208110156101c857600080fd5b50356001600160a01b031661035d565b604080519115158252519081900360200190f35b6101d86004803603602081101561020257600080fd5b50356001600160a01b0316610372565b6100c96004803603604081101561022857600080fd5b50803590602001356001600160a01b0316610387565b6100c96004803603602081101561025457600080fd5b503561039d565b6102816004803603602081101561027157600080fd5b50356001600160a01b03166103a2565b60408051918252519081900360200190f35b6100c9600480360360408110156102a957600080fd5b813591908101906040810160208201356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b5090925090506103b4565b610312610406565b61031b81610485565b50565b6000602081905290815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205460ff1681565b60026020526000908152604090205460ff1681565b61038f610406565b6103998282610500565b5050565b600455565b60016020526000908152604090205481565b600454610401576040805162461bcd60e51b815260206004820152601660248201527514dbdb595d1a1a5b99c8189859081a185c1c195b995960521b604482015290519081900360640190fd5b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610483576040805162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e74726163740000604482015290519081900360640190fd5b565b6001600160a01b03811660009081526002602052604090205460ff166104dc5760405162461bcd60e51b815260040180806020018281038252602481526020018061054e6024913960400191505060405180910390fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60008281526020818152604080832080546001600160a01b039095166001600160a01b0319909516851790559282526001808252838320949094556002905220805460ff1916909117905556fe70726f766964656420636f6e7472616374206973206e6f742077686974656c6973746564a264697066735822122055e54c300e68ab41df5e1916c7b8ac8ba4b909be61fcd7961e198ae57ecc660564736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80637f79bea8116100665780637f79bea8146101ec578063b8fa373614610212578063c238eea11461023e578063c8ba6c871461025b578063e248cff2146102935761009e565b806307b7ed99146100a35780630968f264146100cb5780630a6d55d814610171578063318c136e146101aa5780636a70d081146101b2575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b031661030a565b005b6100c9600480360360208110156100e157600080fd5b8101906020810181356401000000008111156100fc57600080fd5b82018360208201111561010e57600080fd5b8035906020019184600183028401116401000000008311171561013057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061031b945050505050565b61018e6004803603602081101561018757600080fd5b503561031e565b604080516001600160a01b039092168252519081900360200190f35b61018e610339565b6101d8600480360360208110156101c857600080fd5b50356001600160a01b031661035d565b604080519115158252519081900360200190f35b6101d86004803603602081101561020257600080fd5b50356001600160a01b0316610372565b6100c96004803603604081101561022857600080fd5b50803590602001356001600160a01b0316610387565b6100c96004803603602081101561025457600080fd5b503561039d565b6102816004803603602081101561027157600080fd5b50356001600160a01b03166103a2565b60408051918252519081900360200190f35b6100c9600480360360408110156102a957600080fd5b813591908101906040810160208201356401000000008111156102cb57600080fd5b8201836020820111156102dd57600080fd5b803590602001918460018302840111640100000000831117156102ff57600080fd5b5090925090506103b4565b610312610406565b61031b81610485565b50565b6000602081905290815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205460ff1681565b60026020526000908152604090205460ff1681565b61038f610406565b6103998282610500565b5050565b600455565b60016020526000908152604090205481565b600454610401576040805162461bcd60e51b815260206004820152601660248201527514dbdb595d1a1a5b99c8189859081a185c1c195b995960521b604482015290519081900360640190fd5b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610483576040805162461bcd60e51b815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e74726163740000604482015290519081900360640190fd5b565b6001600160a01b03811660009081526002602052604090205460ff166104dc5760405162461bcd60e51b815260040180806020018281038252602481526020018061054e6024913960400191505060405180910390fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60008281526020818152604080832080546001600160a01b039095166001600160a01b0319909516851790559282526001808252838320949094556002905220805460ff1916909117905556fe70726f766964656420636f6e7472616374206973206e6f742077686974656c6973746564a264697066735822122055e54c300e68ab41df5e1916c7b8ac8ba4b909be61fcd7961e198ae57ecc660564736f6c634300060c0033", "immutableReferences": { "9652": [ { "length": 32, "start": 827 }, { "length": 32, "start": 1041 } ] }, "sourceMap": "1634:463:42:-:0;;;1713:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1713:102:42;1045:30:48;;;;-1:-1:-1;;;;;;1045:30:48;;;-1:-1:-1;;;;;1634:463:42;;;;;;;;", "deployedSourceMap": "1634:463:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2170:120:48;;;;;;;;;;;;;;;;-1:-1:-1;2170:120:48;-1:-1:-1;;;;;2170:120:48;;:::i;:::-;;2296:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2296:65:48;;-1:-1:-1;2296:65:48;;-1:-1:-1;;;;;2296:65:48:i;408:69::-;;;;;;;;;;;;;;;;-1:-1:-1;408:69:48;;:::i;:::-;;;;-1:-1:-1;;;;;408:69:48;;;;;;;;;;;;;;318:39;;;:::i;755:42::-;;;;;;;;;;;;;;;;-1:-1:-1;755:42:48;-1:-1:-1;;;;;755:42:48;;:::i;:::-;;;;;;;;;;;;;;;;;;652:51;;;;;;;;;;;;;;;;-1:-1:-1;652:51:48;-1:-1:-1;;;;;652:51:48;;:::i;1774:154::-;;;;;;;;;;;;;;;;-1:-1:-1;1774:154:48;;;;;;-1:-1:-1;;;;;1774:154:48;;:::i;2003:92:42:-;;;;;;;;;;;;;;;;-1:-1:-1;2003:92:42;;:::i;528:69:48:-;;;;;;;;;;;;;;;;-1:-1:-1;528:69:48;-1:-1:-1;;;;;528:69:48;;:::i;:::-;;;;;;;;;;;;;;;;1821:176:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1821:176:42;;-1:-1:-1;1821:176:42;-1:-1:-1;1821:176:42;:::i;2170:120:48:-;836:13;:11;:13::i;:::-;2254:29:::1;2267:15;2254:12;:29::i;:::-;2170:120:::0;:::o;408:69::-;;;;;;;;;;;;;-1:-1:-1;;;;;408:69:48;;:::o;318:39::-;;;:::o;755:42::-;;;;;;;;;;;;;;;:::o;652:51::-;;;;;;;;;;;;;;;:::o;1774:154::-;836:13;:11;:13::i;:::-;1880:41:::1;1893:10;1905:15;1880:12;:41::i;:::-;1774:154:::0;;:::o;2003:92:42:-;2067:12;:21;2003:92::o;528:69:48:-;;;;;;;;;;;;;:::o;1821:176:42:-;1899:12;;1895:80;;1932:32;;;-1:-1:-1;;;1932:32:42;;;;;;;;;;;;-1:-1:-1;;;1932:32:42;;;;;;;;;;;;;;1895:80;1821:176;;;:::o;1088:124:48:-;1142:10;-1:-1:-1;;;;;1156:14:48;1142:28;;1134:71;;;;;-1:-1:-1;;;1134:71:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;1088:124::o;2655:200::-;-1:-1:-1;;;;;2729:35:48;;;;;;:18;:35;;;;;;;;2721:84;;;;-1:-1:-1;;;2721:84:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2815:26:48;;;;;:9;:26;;;;;:33;;-1:-1:-1;;2815:33:48;2844:4;2815:33;;;2655:200::o;2367:282::-;2453:33;:45;;;;;;;;;;;:63;;-1:-1:-1;;;;;2453:63:48;;;-1:-1:-1;;;;;;2453:63:48;;;;;;;2526:50;;;2453:63;2526:50;;;;;;:63;;;;2600:18;:35;;;:42;;-1:-1:-1;;2600:42:48;;;;;;2367:282::o", "source": "// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity 0.6.12;\n\nimport \"./utils/SafeCast.sol\";\nimport \"./handlers/HandlerHelpers.sol\";\n\ncontract NoArgument {\n event NoArgumentCalled();\n\n function noArgument() external {\n emit NoArgumentCalled();\n }\n}\n\ncontract OneArgument {\n event OneArgumentCalled(uint256 indexed argumentOne);\n\n function oneArgument(uint256 argumentOne) external {\n emit OneArgumentCalled(argumentOne);\n }\n}\n\ncontract TwoArguments {\n event TwoArgumentsCalled(address[] argumentOne, bytes4 argumentTwo);\n\n function twoArguments(address[] calldata argumentOne, bytes4 argumentTwo) external {\n emit TwoArgumentsCalled(argumentOne, argumentTwo);\n }\n}\n\ncontract ThreeArguments {\n event ThreeArgumentsCalled(string argumentOne, int8 argumentTwo, bool argumentThree);\n\n function threeArguments(string calldata argumentOne, int8 argumentTwo, bool argumentThree) external {\n emit ThreeArgumentsCalled(argumentOne, argumentTwo, argumentThree);\n }\n}\n\ncontract WithDepositer {\n event WithDepositerCalled(address argumentOne, uint256 argumentTwo);\n\n function withDepositer(address argumentOne, uint256 argumentTwo) external {\n emit WithDepositerCalled(argumentOne, argumentTwo);\n }\n}\n\ncontract SafeCaster {\n using SafeCast for *;\n\n function toUint200(uint input) external pure returns(uint200) {\n return input.toUint200();\n }\n}\n\ncontract ReturnData {\n function returnData(string memory argument) external pure returns(bytes32 response) {\n assembly {\n response := mload(add(argument, 32))\n }\n }\n}\n\ncontract HandlerRevert is HandlerHelpers {\n uint private _totalAmount;\n\n constructor(\n address bridgeAddress\n ) public HandlerHelpers(bridgeAddress) {\n }\n\n function executeProposal(bytes32, bytes calldata) external view {\n if (_totalAmount == 0) {\n revert('Something bad happened');\n }\n return;\n }\n\n function virtualIncreaseBalance(uint amount) external {\n _totalAmount = amount;\n }\n}\n", "sourcePath": "/home/sigo/w/deer/ethsub/packages/sol/contracts/TestContracts.sol", "ast": { "absolutePath": "project:/contracts/TestContracts.sol", "exportedSymbols": { "HandlerRevert": [ 8235 ], "NoArgument": [ 8086 ], "OneArgument": [ 8101 ], "ReturnData": [ 8193 ], "SafeCaster": [ 8183 ], "ThreeArguments": [ 8148 ], "TwoArguments": [ 8123 ], "WithDepositer": [ 8168 ] }, "id": 8236, "license": "LGPL-3.0-only", "nodeType": "SourceUnit", "nodes": [ { "id": 8074, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "42:23:42" }, { "absolutePath": "project:/contracts/utils/SafeCast.sol", "file": "./utils/SafeCast.sol", "id": 8075, "nodeType": "ImportDirective", "scope": 8236, "sourceUnit": 10342, "src": "67:30:42", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "project:/contracts/handlers/HandlerHelpers.sol", "file": "./handlers/HandlerHelpers.sol", "id": 8076, "nodeType": "ImportDirective", "scope": 8236, "sourceUnit": 9783, "src": "98:39:42", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 8086, "linearizedBaseContracts": [ 8086 ], "name": "NoArgument", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 8078, "name": "NoArgumentCalled", "nodeType": "EventDefinition", "parameters": { "id": 8077, "nodeType": "ParameterList", "parameters": [], "src": "187:2:42" }, "src": "165:25:42" }, { "body": { "id": 8084, "nodeType": "Block", "src": "227:40:42", "statements": [ { "eventCall": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 8081, "name": "NoArgumentCalled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8078, "src": "242:16:42", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 8082, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "242:18:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8083, "nodeType": "EmitStatement", "src": "237:23:42" } ] }, "documentation": null, "functionSelector": "568959ca", "id": 8085, "implemented": true, "kind": "function", "modifiers": [], "name": "noArgument", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 8079, "nodeType": "ParameterList", "parameters": [], "src": "215:2:42" }, "returnParameters": { "id": 8080, "nodeType": "ParameterList", "parameters": [], "src": "227:0:42" }, "scope": 8086, "src": "196:71:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 8236, "src": "139:130:42" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 8101, "linearizedBaseContracts": [ 8101 ], "name": "OneArgument", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 8090, "name": "OneArgumentCalled", "nodeType": "EventDefinition", "parameters": { "id": 8089, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8088, "indexed": true, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8090, "src": "322:27:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8087, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "322:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "321:29:42" }, "src": "298:53:42" }, { "body": { "id": 8099, "nodeType": "Block", "src": "408:52:42", "statements": [ { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 8096, "name": "argumentOne", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8092, "src": "441:11:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8095, "name": "OneArgumentCalled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8090, "src": "423:17:42", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 8097, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "423:30:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8098, "nodeType": "EmitStatement", "src": "418:35:42" } ] }, "documentation": null, "functionSelector": "c95cf0d8", "id": 8100, "implemented": true, "kind": "function", "modifiers": [], "name": "oneArgument", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 8093, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8092, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8100, "src": "378:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8091, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "378:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "377:21:42" }, "returnParameters": { "id": 8094, "nodeType": "ParameterList", "parameters": [], "src": "408:0:42" }, "scope": 8101, "src": "357:103:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 8236, "src": "271:191:42" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 8123, "linearizedBaseContracts": [ 8123 ], "name": "TwoArguments", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 8108, "name": "TwoArgumentsCalled", "nodeType": "EventDefinition", "parameters": { "id": 8107, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8104, "indexed": false, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8108, "src": "517:21:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 8102, "name": "address", "nodeType": "ElementaryTypeName", "src": "517:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 8103, "length": null, "nodeType": "ArrayTypeName", "src": "517:9:42", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8106, "indexed": false, "mutability": "mutable", "name": "argumentTwo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8108, "src": "540:18:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8105, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "540:6:42", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], "src": "516:43:42" }, "src": "492:68:42" }, { "body": { "id": 8121, "nodeType": "Block", "src": "649:66:42", "statements": [ { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 8117, "name": "argumentOne", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8111, "src": "683:11:42", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, { "argumentTypes": null, "id": 8118, "name": "argumentTwo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8113, "src": "696:11:42", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" }, { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } ], "id": 8116, "name": "TwoArgumentsCalled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8108, "src": "664:18:42", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes4_$returns$__$", "typeString": "function (address[] memory,bytes4)" } }, "id": 8119, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "664:44:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8120, "nodeType": "EmitStatement", "src": "659:49:42" } ] }, "documentation": null, "functionSelector": "72e0745c", "id": 8122, "implemented": true, "kind": "function", "modifiers": [], "name": "twoArguments", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 8114, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8111, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8122, "src": "588:30:42", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 8109, "name": "address", "nodeType": "ElementaryTypeName", "src": "588:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 8110, "length": null, "nodeType": "ArrayTypeName", "src": "588:9:42", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8113, "mutability": "mutable", "name": "argumentTwo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8122, "src": "620:18:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 8112, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "620:6:42", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": null, "visibility": "internal" } ], "src": "587:52:42" }, "returnParameters": { "id": 8115, "nodeType": "ParameterList", "parameters": [], "src": "649:0:42" }, "scope": 8123, "src": "566:149:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 8236, "src": "464:253:42" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 8148, "linearizedBaseContracts": [ 8148 ], "name": "ThreeArguments", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 8131, "name": "ThreeArgumentsCalled", "nodeType": "EventDefinition", "parameters": { "id": 8130, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8125, "indexed": false, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8131, "src": "776:18:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 8124, "name": "string", "nodeType": "ElementaryTypeName", "src": "776:6:42", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8127, "indexed": false, "mutability": "mutable", "name": "argumentTwo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8131, "src": "796:16:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" }, "typeName": { "id": 8126, "name": "int8", "nodeType": "ElementaryTypeName", "src": "796:4:42", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8129, "indexed": false, "mutability": "mutable", "name": "argumentThree", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8131, "src": "814:18:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 8128, "name": "bool", "nodeType": "ElementaryTypeName", "src": "814:4:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "775:58:42" }, "src": "749:85:42" }, { "body": { "id": 8146, "nodeType": "Block", "src": "940:83:42", "statements": [ { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 8141, "name": "argumentOne", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8133, "src": "976:11:42", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" } }, { "argumentTypes": null, "id": 8142, "name": "argumentTwo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8135, "src": "989:11:42", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" } }, { "argumentTypes": null, "id": 8143, "name": "argumentThree", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8137, "src": "1002:13:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string calldata" }, { "typeIdentifier": "t_int8", "typeString": "int8" }, { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 8140, "name": "ThreeArgumentsCalled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8131, "src": "955:20:42", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int8_$_t_bool_$returns$__$", "typeString": "function (string memory,int8,bool)" } }, "id": 8144, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "955:61:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8145, "nodeType": "EmitStatement", "src": "950:66:42" } ] }, "documentation": null, "functionSelector": "9280b905", "id": 8147, "implemented": true, "kind": "function", "modifiers": [], "name": "threeArguments", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 8138, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8133, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8147, "src": "864:27:42", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_string_calldata_ptr", "typeString": "string" }, "typeName": { "id": 8132, "name": "string", "nodeType": "ElementaryTypeNam