UNPKG

@ethsub/sol

Version:
1,279 lines (1,278 loc) 160 kB
{ "contractName": "SafeCaster", "abi": [ { "inputs": [ { "internalType": "uint256", "name": "input", "type": "uint256" } ], "name": "toUint200", "outputs": [ { "internalType": "uint200", "name": "", "type": "uint200" } ], "stateMutability": "pure", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"input\",\"type\":\"uint256\"}],\"name\":\"toUint200\",\"outputs\":[{\"internalType\":\"uint200\",\"name\":\"\",\"type\":\"uint200\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/TestContracts.sol\":\"SafeCaster\"},\"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": "0x608060405234801561001057600080fd5b50610105806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063720ad67414602d575b600080fd5b604760048036036020811015604157600080fd5b50356063565b604080516001600160c81b039092168252519081900360200190f35b6000606c826072565b92915050565b6000600160c81b821060cb576040805162461bcd60e51b815260206004820152601e60248201527f76616c756520646f6573206e6f742066697420696e2032303020626974730000604482015290519081900360640190fd5b509056fea264697066735822122061962764d358e8f203007da4579cb3c7dec23f080ca795a9ee0f3a58e77dfeb564736f6c634300060c0033", "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063720ad67414602d575b600080fd5b604760048036036020811015604157600080fd5b50356063565b604080516001600160c81b039092168252519081900360200190f35b6000606c826072565b92915050565b6000600160c81b821060cb576040805162461bcd60e51b815260206004820152601e60248201527f76616c756520646f6573206e6f742066697420696e2032303020626974730000604482015290519081900360640190fd5b509056fea264697066735822122061962764d358e8f203007da4579cb3c7dec23f080ca795a9ee0f3a58e77dfeb564736f6c634300060c0033", "immutableReferences": {}, "sourceMap": "1275:158:42:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "1275:158:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1328:103;;;;;;;;;;;;;;;;-1:-1:-1;1328:103:42;;:::i;:::-;;;;-1:-1:-1;;;;;1328:103:42;;;;;;;;;;;;;;;1381:7;1407:17;:5;:15;:17::i;:::-;1400:24;1328:103;-1:-1:-1;;1328:103:42:o;82:171:55:-;139:7;-1:-1:-1;;;166:5:55;:14;158:57;;;;;-1:-1:-1;;;158:57:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;240:5:55;82:171::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": "ElementaryTypeName", "src": "864:6:42", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8135, "mutability": "mutable", "name": "argumentTwo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8147, "src": "893:16:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" }, "typeName": { "id": 8134, "name": "int8", "nodeType": "ElementaryTypeName", "src": "893:4:42", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8137, "mutability": "mutable", "name": "argumentThree", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8147, "src": "911:18:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 8136, "name": "bool", "nodeType": "ElementaryTypeName", "src": "911:4:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "863:67:42" }, "returnParameters": { "id": 8139, "nodeType": "ParameterList", "parameters": [], "src": "940:0:42" }, "scope": 8148, "src": "840:183:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 8236, "src": "719:306:42" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 8168, "linearizedBaseContracts": [ 8168 ], "name": "WithDepositer", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 8154, "name": "WithDepositerCalled", "nodeType": "EventDefinition", "parameters": { "id": 8153, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8150, "indexed": false, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8154, "src": "1082:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8149, "name": "address", "nodeType": "ElementaryTypeName", "src": "1082:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8152, "indexed": false, "mutability": "mutable", "name": "argumentTwo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8154, "src": "1103:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8151, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1103:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1081:42:42" }, "src": "1056:68:42" }, { "body": { "id": 8166, "nodeType": "Block", "src": "1204:67:42", "statements": [ { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 8162, "name": "argumentOne", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8156, "src": "1239:11:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 8163, "name": "argumentTwo", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8158, "src": "1252:11:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 8161, "name": "WithDepositerCalled", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8154, "src": "1219:19:42", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 8164, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1219:45:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 8165, "nodeType": "EmitStatement", "src": "1214:50:42" } ] }, "documentation": null, "functionSelector": "0a357c4f", "id": 8167, "implemented": true, "kind": "function", "modifiers": [], "name": "withDepositer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 8159, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 8156, "mutability": "mutable", "name": "argumentOne", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8167, "src": "1153:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 8155, "name": "address", "nodeType": "ElementaryTypeName", "src": "1153:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 8158, "mutability": "mutable", "name": "argumentTwo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 8167, "src": "1174:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8157, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1174:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1152:42:42" }, "returnParameters": { "id": 8160, "nodeType": "ParameterList", "parameters": [], "src": "1204:0:42" }, "scope": 8168, "src": "1130:141:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 8236, "src": "1027:246:42" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 8183, "linearizedBaseContracts": [ 8183 ], "name": "SafeCaster", "nodeType": "ContractDefinition", "nodes": [ { "id": 8170, "libraryName": { "contractScope": null, "id": 8169, "name": "SafeCast", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 10341, "src": "1307:8:42", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeCast_$10341", "typeString": "library SafeCast" } }, "nodeType": "UsingForDirective", "src": "1301:21:42", "typeName": null }, { "body": { "id": 8181, "nodeType": "Block",