{ "contractName": "Bank", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "atm", "type": "address" } ], "name": "AddATM", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Destroy", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "NoMoney", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "atms", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [], "name": "destroy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "constant": true }, { "stateMutability": "payable", "type": "receive", "payable": true }, { "inputs": [], "name": "getATMs", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "address", "name": "atm", "type": "address" } ], "name": "addATM", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"atm\",\"type\":\"address\"}],\"name\":\"AddATM\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Destroy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"NoMoney\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"atm\",\"type\":\"address\"}],\"name\":\"addATM\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"atms\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destroy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getATMs\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Bank.sol\":\"Bank\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/Bank.sol\":{\"keccak256\":\"0xca57c5dc4ad868da564052c5f9af3c41fe0017483ecd8db56d03b51085f7372a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://416650dc67adcf68f6250ee5214821689c6a0fd765de75657d2c75da570e11d0\",\"dweb:/ipfs/QmPZkofx8pf4cmDsKBgWqaNGAgU8ocPj6tcXjQe9Xov9a8\"]},\"project:/contracts/BaseContract.sol\":{\"keccak256\":\"0x224dc0bd4bed0626cd3c6472ddbd14b3f81e594690ef64800f94db034a180417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c18e9e30dc4ce07c3c55b64ca66aba0dd42a268e324c5413bd9dff599d0802e\",\"dweb:/ipfs/QmPkFdsgvrei43P1ockcmKr5XNwz7ZPVNe69jTMCcL6mve\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b17806100606000396000f3fe6080604052600436106100595760003560e01c8063113d88d0146100655780632e1a7d4d146100905780635f310fc0146100b957806383197ef0146100f657806385c1a0021461010d5780638da5cb5b1461013657610060565b3661006057005b600080fd5b34801561007157600080fd5b5061007a610161565b6040516100879190610747565b60405180910390f35b34801561009c57600080fd5b506100b760048036038101906100b291906107a4565b6101ef565b005b3480156100c557600080fd5b506100e060048036038101906100db91906107a4565b6103d2565b6040516100ed91906107e0565b60405180910390f35b34801561010257600080fd5b5061010b610411565b005b34801561011957600080fd5b50610134600480360381019061012f9190610827565b610508565b005b34801561014257600080fd5b5061014b610633565b60405161015891906107e0565b60405180910390f35b606060018054806020026020016040519081016040528092919081815260200182805480156101e557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161019b575b5050505050905090565b6000805b60018054905081101561028d576001818154811061021457610213610854565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361027a576001915061028d565b8080610285906108b2565b9150506101f3565b50806102ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102c590610957565b60405180910390fd5b4782111561034c577f468c981a92e5fd7f5019ff02c21de5dc81e64d992f7dd86e7d33dfc2e5fdb47033834760405161030993929190610986565b60405180910390a16040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610a2f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610392573d6000803e3d6000fd5b507ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5683383476040516103c693929190610986565b60405180910390a15050565b600181815481106103e257600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049690610ac1565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610505573d6000803e3d6000fd5b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058d90610ac1565b60405180910390fd5b6001819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f935726013d7722036a2b3b546d46f8fd4f43a3dcd0d0043b7cdab6b8b2b4b1158160405161062891906107e0565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106ae82610683565b9050919050565b6106be816106a3565b82525050565b60006106d083836106b5565b60208301905092915050565b6000602082019050919050565b60006106f482610657565b6106fe8185610662565b935061070983610673565b8060005b8381101561073a57815161072188826106c4565b975061072c836106dc565b92505060018101905061070d565b5085935050505092915050565b6000602082019050818103600083015261076181846106e9565b905092915050565b600080fd5b6000819050919050565b6107818161076e565b811461078c57600080fd5b50565b60008135905061079e81610778565b92915050565b6000602082840312156107ba576107b9610769565b5b60006107c88482850161078f565b91505092915050565b6107da816106a3565b82525050565b60006020820190506107f560008301846107d1565b92915050565b610804816106a3565b811461080f57600080fd5b50565b600081359050610821816107fb565b92915050565b60006020828403121561083d5761083c610769565b5b600061084b84828501610812565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108bd8261076e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee610883565b5b600182019050919050565b600082825260208201905092915050565b7f596f75277265206e6f74206f75722041544d2e00000000000000000000000000600082015250565b60006109416013836108fa565b915061094c8261090b565b602082019050919050565b6000602082019050818103600083015261097081610934565b9050919050565b6109808161076e565b82525050565b600060608201905061099b60008301866107d1565b6109a86020830185610977565b6109b56040830184610977565b949350505050565b7f42616e6b20646f65736e2774206861766520656e6f756768206d6f6e6579207460008201527f6f20776974686472617700000000000000000000000000000000000000000000602082015250565b6000610a19602a836108fa565b9150610a24826109bd565b604082019050919050565b60006020820190508181036000830152610a4881610a0c565b9050919050565b7f546869732066756e6374696f6e206f6e6c7920746865206f776e65722063616e60008201527f2061636365737300000000000000000000000000000000000000000000000000602082015250565b6000610aab6027836108fa565b9150610ab682610a4f565b604082019050919050565b60006020820190508181036000830152610ada81610a9e565b905091905056fea26469706673582212207b78599838e59ffe771199635662a09e802bfe5f035c785886977174fe048da964736f6c63430008130033", "deployedBytecode": "0x6080604052600436106100595760003560e01c8063113d88d0146100655780632e1a7d4d146100905780635f310fc0146100b957806383197ef0146100f657806385c1a0021461010d5780638da5cb5b1461013657610060565b3661006057005b600080fd5b34801561007157600080fd5b5061007a610161565b6040516100879190610747565b60405180910390f35b34801561009c57600080fd5b506100b760048036038101906100b291906107a4565b6101ef565b005b3480156100c557600080fd5b506100e060048036038101906100db91906107a4565b6103d2565b6040516100ed91906107e0565b60405180910390f35b34801561010257600080fd5b5061010b610411565b005b34801561011957600080fd5b50610134600480360381019061012f9190610827565b610508565b005b34801561014257600080fd5b5061014b610633565b60405161015891906107e0565b60405180910390f35b606060018054806020026020016040519081016040528092919081815260200182805480156101e557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161019b575b5050505050905090565b6000805b60018054905081101561028d576001818154811061021457610213610854565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361027a576001915061028d565b8080610285906108b2565b9150506101f3565b50806102ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102c590610957565b60405180910390fd5b4782111561034c577f468c981a92e5fd7f5019ff02c21de5dc81e64d992f7dd86e7d33dfc2e5fdb47033834760405161030993929190610986565b60405180910390a16040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034390610a2f565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610392573d6000803e3d6000fd5b507ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5683383476040516103c693929190610986565b60405180910390a15050565b600181815481106103e257600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461049f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049690610ac1565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610505573d6000803e3d6000fd5b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058d90610ac1565b60405180910390fd5b6001819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f935726013d7722036a2b3b546d46f8fd4f43a3dcd0d0043b7cdab6b8b2b4b1158160405161062891906107e0565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106ae82610683565b9050919050565b6106be816106a3565b82525050565b60006106d083836106b5565b60208301905092915050565b6000602082019050919050565b60006106f482610657565b6106fe8185610662565b935061070983610673565b8060005b8381101561073a57815161072188826106c4565b975061072c836106dc565b92505060018101905061070d565b5085935050505092915050565b6000602082019050818103600083015261076181846106e9565b905092915050565b600080fd5b6000819050919050565b6107818161076e565b811461078c57600080fd5b50565b60008135905061079e81610778565b92915050565b6000602082840312156107ba576107b9610769565b5b60006107c88482850161078f565b91505092915050565b6107da816106a3565b82525050565b60006020820190506107f560008301846107d1565b92915050565b610804816106a3565b811461080f57600080fd5b50565b600081359050610821816107fb565b92915050565b60006020828403121561083d5761083c610769565b5b600061084b84828501610812565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108bd8261076e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108ef576108ee610883565b5b600182019050919050565b600082825260208201905092915050565b7f596f75277265206e6f74206f75722041544d2e00000000000000000000000000600082015250565b60006109416013836108fa565b915061094c8261090b565b602082019050919050565b6000602082019050818103600083015261097081610934565b9050919050565b6109808161076e565b82525050565b600060608201905061099b60008301866107d1565b6109a86020830185610977565b6109b56040830184610977565b949350505050565b7f42616e6b20646f65736e2774206861766520656e6f756768206d6f6e6579207460008201527f6f20776974686472617700000000000000000000000000000000000000000000602082015250565b6000610a19602a836108fa565b9150610a24826109bd565b604082019050919050565b60006020820190508181036000830152610a4881610a0c565b9050919050565b7f546869732066756e6374696f6e206f6e6c7920746865206f776e65722063616e60008201527f2061636365737300000000000000000000000000000000000000000000000000602082015250565b6000610aab6027836108fa565b9150610ab682610a4f565b604082019050919050565b60006020820190508181036000830152610ada81610a9e565b905091905056fea26469706673582212207b78599838e59ffe771199635662a09e802bfe5f035c785886977174fe048da964736f6c63430008130033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:8620:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "81:40:3", "statements": [ { "nodeType": "YulAssignment", "src": "92:22:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "108:5:3" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "102:5:3" }, "nodeType": "YulFunctionCall", "src": "102:12:3" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", "src": "92:6:3" } ] } ] }, "name": "array_length_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "64:5:3", "type": "" } ], "returnVariables": [ { "name": "length", "nodeType": "YulTypedName", "src": "74:6:3", "type": "" } ], "src": "7:114:3" }, { "body": { "nodeType": "YulBlock", "src": "238:73:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "255:3:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "260:6:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "248:6:3" }, "nodeType": "YulFunctionCall", "src": "248:19:3" }, "nodeType": "YulExpressionStatement", "src": "248:19:3" }, { "nodeType": "YulAssignment", "src": "276:29:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "295:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "300:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "291:3:3" }, "nodeType": "YulFunctionCall", "src": "291:14:3" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "276:11:3" } ] } ] }, "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "210:3:3", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "215:6:3", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "226:11:3", "type": "" } ], "src": "127:184:3" }, { "body": { "nodeType": "YulBlock", "src": "389:60:3", "statements": [ { "nodeType": "YulAssignment", "src": "399:11:3", "value": { "name": "ptr", "nodeType": "YulIdentifier", "src": "407:3:3" }, "variableNames": [ { "name": "data", "nodeType": "YulIdentifier", "src": "399:4:3" } ] }, { "nodeType": "YulAssignment", "src": "420:22:3", "value": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "432:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "437:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "428:3:3" }, "nodeType": "YulFunctionCall", "src": "428:14:3" }, "variableNames": [ { "name": "data", "nodeType": "YulIdentifier", "src": "420:4:3" } ] } ] }, "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", "nodeType": "YulTypedName", "src": "376:3:3", "type": "" } ], "returnVariables": [ { "name": "data", "nodeType": "YulTypedName", "src": "384:4:3", "type": "" } ], "src": "317:132:3" }, { "body": { "nodeType": "YulBlock", "src": "500:81:3", "statements": [ { "nodeType": "YulAssignment", "src": "510:65:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "525:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "532:42:3", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "521:3:3" }, "nodeType": "YulFunctionCall", "src": "521:54:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "510:7:3" } ] } ] }, "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "482:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "492:7:3", "type": "" } ], "src": "455:126:3" }, { "body": { "nodeType": "YulBlock", "src": "632:51:3", "statements": [ { "nodeType": "YulAssignment", "src": "642:35:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "671:5:3" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", "src": "653:17:3" }, "nodeType": "YulFunctionCall", "src": "653:24:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "642:7:3" } ] } ] }, "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "614:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "624:7:3", "type": "" } ], "src": "587:96:3" }, { "body": { "nodeType": "YulBlock", "src": "744:53:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "761:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "784:5:3" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "766:17:3" }, "nodeType": "YulFunctionCall", "src": "766:24:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "754:6:3" }, "nodeType": "YulFunctionCall", "src": "754:37:3" }, "nodeType": "YulExpressionStatement", "src": "754:37:3" } ] }, "name": "abi_encode_t_address_to_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "732:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "739:3:3", "type": "" } ], "src": "689:108:3" }, { "body": { "nodeType": "YulBlock", "src": "883:99:3", "statements": [ { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "927:6:3" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "935:3:3" } ], "functionName": { "name": "abi_encode_t_address_to_t_address", "nodeType": "YulIdentifier", "src": "893:33:3" }, "nodeType": "YulFunctionCall", "src": "893:46:3" }, "nodeType": "YulExpressionStatement", "src": "893:46:3" }, { "nodeType": "YulAssignment", "src": "948:28:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "966:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "971:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "962:3:3" }, "nodeType": "YulFunctionCall", "src": "962:14:3" }, "variableNames": [ { "name": "updatedPos", "nodeType": "YulIdentifier", "src": "948:10:3" } ] } ] }, "name": "abi_encodeUpdatedPos_t_address_to_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value0", "nodeType": "YulTypedName", "src": "856:6:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "864:3:3", "type": "" } ], "returnVariables": [ { "name": "updatedPos", "nodeType": "YulTypedName", "src": "872:10:3", "type": "" } ], "src": "803:179:3" }, { "body": { "nodeType": "YulBlock", "src": "1063:38:3", "statements": [ { "nodeType": "YulAssignment", "src": "1073:22:3", "value": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", "src": "1085:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1090:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1081:3:3" }, "nodeType": "YulFunctionCall", "src": "1081:14:3" }, "variableNames": [ { "name": "next", "nodeType": "YulIdentifier", "src": "1073:4:3" } ] } ] }, "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", "nodeType": "YulTypedName", "src": "1050:3:3", "type": "" } ], "returnVariables": [ { "name": "next", "nodeType": "YulTypedName", "src": "1058:4:3", "type": "" } ], "src": "988:113:3" }, { "body": { "nodeType": "YulBlock", "src": "1261:608:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1271:68:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1333:5:3" } ], "functionName": { "name": "array_length_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulIdentifier", "src": "1285:47:3" }, "nodeType": "YulFunctionCall", "src": "1285:54:3" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", "src": "1275:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "1348:93:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1429:3:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1434:6:3" } ], "functionName": { "name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "1355:73:3" }, "nodeType": "YulFunctionCall", "src": "1355:86:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1348:3:3" } ] }, { "nodeType": "YulVariableDeclaration", "src": "1450:71:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1515:5:3" } ], "functionName": { "name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulIdentifier", "src": "1465:49:3" }, "nodeType": "YulFunctionCall", "src": "1465:56:3" }, "variables": [ { "name": "baseRef", "nodeType": "YulTypedName", "src": "1454:7:3", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", "src": "1530:21:3", "value": { "name": "baseRef", "nodeType": "YulIdentifier", "src": "1544:7:3" }, "variables": [ { "name": "srcPtr", "nodeType": "YulTypedName", "src": "1534:6:3", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "1620:224:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1634:34:3", "value": { "arguments": [ { "name": "srcPtr", "nodeType": "YulIdentifier", "src": "1661:6:3" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "1655:5:3" }, "nodeType": "YulFunctionCall", "src": "1655:13:3" }, "variables": [ { "name": "elementValue0", "nodeType": "YulTypedName", "src": "1638:13:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "1681:70:3", "value": { "arguments": [ { "name": "elementValue0", "nodeType": "YulIdentifier", "src": "1732:13:3" }, { "name": "pos", "nodeType": "YulIdentifier", "src": "1747:3:3" } ], "functionName": { "name": "abi_encodeUpdatedPos_t_address_to_t_address", "nodeType": "YulIdentifier", "src": "1688:43:3" }, "nodeType": "YulFunctionCall", "src": "1688:63:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1681:3:3" } ] }, { "nodeType": "YulAssignment", "src": "1764:70:3", "value": { "arguments": [ { "name": "srcPtr", "nodeType": "YulIdentifier", "src": "1827:6:3" } ], "functionName": { "name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr", "nodeType": "YulIdentifier", "src": "1774:52:3" }, "nodeType": "YulFunctionCall", "src": "1774:60:3" }, "variableNames": [ { "name": "srcPtr", "nodeType": "YulIdentifier", "src": "1764:6:3" } ] } ] }, "condition": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", "src": "1582:1:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "1585:6:3" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "1579:2:3" }, "nodeType": "YulFunctionCall", "src": "1579:13:3" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", "src": "1593:18:3", "statements": [ { "nodeType": "YulAssignment", "src": "1595:14:3", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", "src": "1604:1:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1607:1:3", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1600:3:3" }, "nodeType": "YulFunctionCall", "src": "1600:9:3" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", "src": "1595:1:3" } ] } ] }, "pre": { "nodeType": "YulBlock", "src": "1564:14:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1566:10:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "1575:1:3", "type": "", "value": "0" }, "variables": [ { "name": "i", "nodeType": "YulTypedName", "src": "1570:1:3", "type": "" } ] } ] }, "src": "1560:284:3" }, { "nodeType": "YulAssignment", "src": "1853:10:3", "value": { "name": "pos", "nodeType": "YulIdentifier", "src": "1860:3:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "1853:3:3" } ] } ] }, "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1240:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "1247:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "1256:3:3", "type": "" } ], "src": "1137:732:3" }, { "body": { "nodeType": "YulBlock", "src": "2023:225:3", "statements": [ { "nodeType": "YulAssignment", "src": "2033:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2045:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2056:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2041:3:3" }, "nodeType": "YulFunctionCall", "src": "2041:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2033:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2080:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2091:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2076:3:3" }, "nodeType": "YulFunctionCall", "src": "2076:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2099:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "2105:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "2095:3:3" }, "nodeType": "YulFunctionCall", "src": "2095:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2069:6:3" }, "nodeType": "YulFunctionCall", "src": "2069:47:3" }, "nodeType": "YulExpressionStatement", "src": "2069:47:3" }, { "nodeType": "YulAssignment", "src": "2125:116:3", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "2227:6:3" }, { "name": "tail", "nodeType": "YulIdentifier", "src": "2236:4:3" } ], "functionName": { "name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "2133:93:3" }, "nodeType": "YulFunctionCall", "src": "2133:108:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "2125:4:3" } ] } ] }, "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "1995:9:3", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "2007:6:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "2018:4:3", "type": "" } ], "src": "1875:373:3" }, { "body": { "nodeType": "YulBlock", "src": "2294:35:3", "statements": [ { "nodeType": "YulAssignment", "src": "2304:19:3", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2320:2:3", "type": "", "value": "64" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "2314:5:3" }, "nodeType": "YulFunctionCall", "src": "2314:9:3" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "2304:6:3" } ] } ] }, "name": "allocate_unbounded", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "2287:6:3", "type": "" } ], "src": "2254:75:3" }, { "body": { "nodeType": "YulBlock", "src": "2424:28:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2441:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2444:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2434:6:3" }, "nodeType": "YulFunctionCall", "src": "2434:12:3" }, "nodeType": "YulExpressionStatement", "src": "2434:12:3" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", "src": "2335:117:3" }, { "body": { "nodeType": "YulBlock", "src": "2547:28:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2564:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2567:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2557:6:3" }, "nodeType": "YulFunctionCall", "src": "2557:12:3" }, "nodeType": "YulExpressionStatement", "src": "2557:12:3" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", "src": "2458:117:3" }, { "body": { "nodeType": "YulBlock", "src": "2626:32:3", "statements": [ { "nodeType": "YulAssignment", "src": "2636:16:3", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "2647:5:3" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "2636:7:3" } ] } ] }, "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "2608:5:3", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "2618:7:3", "type": "" } ], "src": "2581:77:3" }, { "body": { "nodeType": "YulBlock", "src": "2707:79:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "2764:16:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2773:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2776:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2766:6:3" }, "nodeType": "YulFunctionCall", "src": "2766:12:3" }, "nodeType": "YulExpressionStatement", "src": "2766:12:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2730:5:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2755:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "2737:17:3" }, "nodeType": "YulFunctionCall", "src": "2737:24:3" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "2727:2:3" }, "nodeType": "YulFunctionCall", "src": "2727:35:3" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "2720:6:3" }, "nodeType": "YulFunctionCall", "src": "2720:43:3" }, "nodeType": "YulIf", "src": "2717:63:3" } ] }, "name": "validator_revert_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "2700:5:3", "type": "" } ], "src": "2664:122:3" }, { "body": { "nodeType": "YulBlock", "src": "2844:87:3", "statements": [ { "nodeType": "YulAssignment", "src": "2854:29:3", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "2876:6:3" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "2863:12:3" }, "nodeType": "YulFunctionCall", "src": "2863:20:3" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2854:5:3" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2919:5:3" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", "src": "2892:26:3" }, "nodeType": "YulFunctionCall", "src": "2892:33:3" }, "nodeType": "YulExpressionStatement", "src": "2892:33:3" } ] }, "name": "abi_decode_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "2822:6:3", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "2830:3:3", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "2838:5:3", "type": "" } ], "src": "2792:139:3" }, { "body": { "nodeType": "YulBlock", "src": "3003:263:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "3049:83:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "3051:77:3" }, "nodeType": "YulFunctionCall", "src": "3051:79:3" }, "nodeType": "YulExpressionStatement", "src": "3051:79:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "3024:7:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "3033:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3020:3:3" }, "nodeType": "YulFunctionCall", "src": "3020:23:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3045:2:3", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "3016:3:3" }, "nodeType": "YulFunctionCall", "src": "3016:32:3" }, "nodeType": "YulIf", "src": "3013:119:3" }, { "nodeType": "YulBlock", "src": "3142:117:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "3157:15:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "3171:1:3", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "3161:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "3186:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3221:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "3232:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3217:3:3" }, "nodeType": "YulFunctionCall", "src": "3217:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "3241:7:3" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "3196:20:3" }, "nodeType": "YulFunctionCall", "src": "3196:53:3" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "3186:6:3" } ] } ] } ] }, "name": "abi_decode_tuple_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "2973:9:3", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "2984:7:3", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "2996:6:3", "type": "" } ], "src": "2937:329:3" }, { "body": { "nodeType": "YulBlock", "src": "3337:53:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3354:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3377:5:3" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "3359:17:3" }, "nodeType": "YulFunctionCall", "src": "3359:24:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3347:6:3" }, "nodeType": "YulFunctionCall", "src": "3347:37:3" }, "nodeType": "YulExpressionStatement", "src": "3347:37:3" } ] }, "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "3325:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "3332:3:3", "type": "" } ], "src": "3272:118:3" }, { "body": { "nodeType": "YulBlock", "src": "3494:124:3", "statements": [ { "nodeType": "YulAssignment", "src": "3504:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3516:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3527:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3512:3:3" }, "nodeType": "YulFunctionCall", "src": "3512:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3504:4:3" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "3584:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3597:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3608:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3593:3:3" }, "nodeType": "YulFunctionCall", "src": "3593:17:3" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", "src": "3540:43:3" }, "nodeType": "YulFunctionCall", "src": "3540:71:3" }, "nodeType": "YulExpressionStatement", "src": "3540:71:3" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "3466:9:3", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "3478:6:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "3489:4:3", "type": "" } ], "src": "3396:222:3" }, { "body": { "nodeType": "YulBlock", "src": "3667:79:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "3724:16:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "3733:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3736:1:3", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "3726:6:3" }, "nodeType": "YulFunctionCall", "src": "3726:12:3" }, "nodeType": "YulExpressionStatement", "src": "3726:12:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3690:5:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3715:5:3" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "3697:17:3" }, "nodeType": "YulFunctionCall", "src": "3697:24:3" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "3687:2:3" }, "nodeType": "YulFunctionCall", "src": "3687:35:3" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "3680:6:3" }, "nodeType": "YulFunctionCall", "src": "3680:43:3" }, "nodeType": "YulIf", "src": "3677:63:3" } ] }, "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "3660:5:3", "type": "" } ], "src": "3624:122:3" }, { "body": { "nodeType": "YulBlock", "src": "3804:87:3", "statements": [ { "nodeType": "YulAssignment", "src": "3814:29:3", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "3836:6:3" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "3823:12:3" }, "nodeType": "YulFunctionCall", "src": "3823:20:3" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3814:5:3" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "3879:5:3" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", "src": "3852:26:3" }, "nodeType": "YulFunctionCall", "src": "3852:33:3" }, "nodeType": "YulExpressionStatement", "src": "3852:33:3" } ] }, "name": "abi_decode_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "3782:6:3", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "3790:3:3", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "3798:5:3", "type": "" } ], "src": "3752:139:3" }, { "body": { "nodeType": "YulBlock", "src": "3963:263:3", "statements": [ { "body": { "nodeType": "YulBlock", "src": "4009:83:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "4011:77:3" }, "nodeType": "YulFunctionCall", "src": "4011:79:3" }, "nodeType": "YulExpressionStatement", "src": "4011:79:3" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "3984:7:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "3993:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3980:3:3" }, "nodeType": "YulFunctionCall", "src": "3980:23:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4005:2:3", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "3976:3:3" }, "nodeType": "YulFunctionCall", "src": "3976:32:3" }, "nodeType": "YulIf", "src": "3973:119:3" }, { "nodeType": "YulBlock", "src": "4102:117:3", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "4117:15:3", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "4131:1:3", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "4121:6:3", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "4146:63:3", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "4181:9:3" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "4192:6:3" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4177:3:3" }, "nodeType": "YulFunctionCall", "src": "4177:22:3" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "4201:7:3" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", "src": "4156:20:3" }, "nodeType": "YulFunctionCall", "src": "4156:53:3" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "4146:6:3" } ] } ] } ] }, "name": "abi_decode_tuple_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "3933:9:3", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "3944:7:3", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "3956:6:3", "type": "" } ], "src": "3897:329:3" }, { "body": { "nodeType": "YulBlock", "src": "4260:152:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4277:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4280:77:3", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4270:6:3" }, "nodeType": "YulFunctionCall", "src": "4270:88:3" }, "nodeType": "YulExpressionStatement", "src": "4270:88:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4374:1:3", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4377:4:3", "type": "", "value": "0x32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4367:6:3" }, "nodeType": "YulFunctionCall", "src": "4367:15:3" }, "nodeType": "YulExpressionStatement", "src": "4367:15:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4398:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4401:4:3", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "4391:6:3" }, "nodeType": "YulFunctionCall", "src": "4391:15:3" }, "nodeType": "YulExpressionStatement", "src": "4391:15:3" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", "src": "4232:180:3" }, { "body": { "nodeType": "YulBlock", "src": "4446:152:3", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4463:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4466:77:3", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4456:6:3" }, "nodeType": "YulFunctionCall", "src": "4456:88:3" }, "nodeType": "YulExpressionStatement", "src": "4456:88:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4560:1:3", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4563:4:3", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4553:6:3" }, "nodeType": "YulFunctionCall", "src": "4553:15:3" }, "nodeType": "YulExpressionStatement", "src": "4553:15:3" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "4584:1:3", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4587:4:3", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "4577:6:3" }, "nodeType": "YulFunctionCall", "src": "4577:15:3" }, "nodeType": "YulExpressionStatement", "src": "4577:15:3" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", "src": "4418:180:3" }, { "body": { "nodeType": "YulBlock", "src": "4647:190:3", "statements": [ { "nodeType": "YulAssignment", "src": "4657:33:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "4684:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "4666:17:3" }, "nodeType": "YulFunctionCall", "src": "4666:24:3" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "4657:5:3" } ] }, { "body": { "nodeType": "YulBlock", "src": "4780:22:3", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "4782:16:3" }, "nodeType": "YulFunctionCall", "src": "4782:18:3" }, "nodeType": "YulExpressionStatement", "src": "4782:18:3" } ] }, "condition": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "4705:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4712:66:3", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "4702:2:3" }, "nodeType": "YulFunctionCall", "src": "4702:77:3" }, "nodeType": "YulIf", "src": "4699:103:3" }, { "nodeType": "YulAssignment", "src": "4811:20:3", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "4822:5:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "4829:1:3", "type": "", "value": "1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4818:3:3" }, "nodeType": "YulFunctionCall", "src": "4818:13:3" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", "src": "4811:3:3" } ] } ] }, "name": "increment_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "4633:5:3", "type": "" } ], "returnVariables": [ { "name": "ret", "nodeType": "YulTypedName", "src": "4643:3:3", "type": "" } ], "src": "4604:233:3" }, { "body": { "nodeType": "YulBlock", "src": "4939:73:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "4956:3:3" }, { "name": "length", "nodeType": "YulIdentifier", "src": "4961:6:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "4949:6:3" }, "nodeType": "YulFunctionCall", "src": "4949:19:3" }, "nodeType": "YulExpressionStatement", "src": "4949:19:3" }, { "nodeType": "YulAssignment", "src": "4977:29:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "4996:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5001:4:3", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "4992:3:3" }, "nodeType": "YulFunctionCall", "src": "4992:14:3" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "4977:11:3" } ] } ] }, "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "4911:3:3", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "4916:6:3", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "4927:11:3", "type": "" } ], "src": "4843:169:3" }, { "body": { "nodeType": "YulBlock", "src": "5124:63:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "5146:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5154:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5142:3:3" }, "nodeType": "YulFunctionCall", "src": "5142:14:3" }, { "hexValue": "596f75277265206e6f74206f75722041544d2e", "kind": "string", "nodeType": "YulLiteral", "src": "5158:21:3", "type": "", "value": "You're not our ATM." } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5135:6:3" }, "nodeType": "YulFunctionCall", "src": "5135:45:3" }, "nodeType": "YulExpressionStatement", "src": "5135:45:3" } ] }, "name": "store_literal_in_memory_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "5116:6:3", "type": "" } ], "src": "5018:169:3" }, { "body": { "nodeType": "YulBlock", "src": "5339:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "5349:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5415:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5420:2:3", "type": "", "value": "19" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "5356:58:3" }, "nodeType": "YulFunctionCall", "src": "5356:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5349:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5521:3:3" } ], "functionName": { "name": "store_literal_in_memory_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240", "nodeType": "YulIdentifier", "src": "5432:88:3" }, "nodeType": "YulFunctionCall", "src": "5432:93:3" }, "nodeType": "YulExpressionStatement", "src": "5432:93:3" }, { "nodeType": "YulAssignment", "src": "5534:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "5545:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5550:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5541:3:3" }, "nodeType": "YulFunctionCall", "src": "5541:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "5534:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "5327:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "5335:3:3", "type": "" } ], "src": "5193:366:3" }, { "body": { "nodeType": "YulBlock", "src": "5736:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "5746:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "5758:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5769:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5754:3:3" }, "nodeType": "YulFunctionCall", "src": "5754:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "5746:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "5793:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "5804:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "5789:3:3" }, "nodeType": "YulFunctionCall", "src": "5789:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "5812:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "5818:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "5808:3:3" }, "nodeType": "YulFunctionCall", "src": "5808:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "5782:6:3" }, "nodeType": "YulFunctionCall", "src": "5782:47:3" }, "nodeType": "YulExpressionStatement", "src": "5782:47:3" }, { "nodeType": "YulAssignment", "src": "5838:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "5972:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "5846:124:3" }, "nodeType": "YulFunctionCall", "src": "5846:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "5838:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "5716:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "5731:4:3", "type": "" } ], "src": "5565:419:3" }, { "body": { "nodeType": "YulBlock", "src": "6055:53:3", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "6072:3:3" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "6095:5:3" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "6077:17:3" }, "nodeType": "YulFunctionCall", "src": "6077:24:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6065:6:3" }, "nodeType": "YulFunctionCall", "src": "6065:37:3" }, "nodeType": "YulExpressionStatement", "src": "6065:37:3" } ] }, "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "6043:5:3", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "6050:3:3", "type": "" } ], "src": "5990:118:3" }, { "body": { "nodeType": "YulBlock", "src": "6268:288:3", "statements": [ { "nodeType": "YulAssignment", "src": "6278:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6290:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6301:2:3", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6286:3:3" }, "nodeType": "YulFunctionCall", "src": "6286:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "6278:4:3" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "6358:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6371:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6382:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6367:3:3" }, "nodeType": "YulFunctionCall", "src": "6367:17:3" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", "src": "6314:43:3" }, "nodeType": "YulFunctionCall", "src": "6314:71:3" }, "nodeType": "YulExpressionStatement", "src": "6314:71:3" }, { "expression": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "6439:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6452:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6463:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6448:3:3" }, "nodeType": "YulFunctionCall", "src": "6448:18:3" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "6395:43:3" }, "nodeType": "YulFunctionCall", "src": "6395:72:3" }, "nodeType": "YulExpressionStatement", "src": "6395:72:3" }, { "expression": { "arguments": [ { "name": "value2", "nodeType": "YulIdentifier", "src": "6521:6:3" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "6534:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6545:2:3", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6530:3:3" }, "nodeType": "YulFunctionCall", "src": "6530:18:3" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "6477:43:3" }, "nodeType": "YulFunctionCall", "src": "6477:72:3" }, "nodeType": "YulExpressionStatement", "src": "6477:72:3" } ] }, "name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "6224:9:3", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", "src": "6236:6:3", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "6244:6:3", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "6252:6:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "6263:4:3", "type": "" } ], "src": "6114:442:3" }, { "body": { "nodeType": "YulBlock", "src": "6668:123:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "6690:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6698:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6686:3:3" }, "nodeType": "YulFunctionCall", "src": "6686:14:3" }, { "hexValue": "42616e6b20646f65736e2774206861766520656e6f756768206d6f6e65792074", "kind": "string", "nodeType": "YulLiteral", "src": "6702:34:3", "type": "", "value": "Bank doesn't have enough money t" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6679:6:3" }, "nodeType": "YulFunctionCall", "src": "6679:58:3" }, "nodeType": "YulExpressionStatement", "src": "6679:58:3" }, { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "6758:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "6766:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "6754:3:3" }, "nodeType": "YulFunctionCall", "src": "6754:15:3" }, { "hexValue": "6f207769746864726177", "kind": "string", "nodeType": "YulLiteral", "src": "6771:12:3", "type": "", "value": "o withdraw" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "6747:6:3" }, "nodeType": "YulFunctionCall", "src": "6747:37:3" }, "nodeType": "YulExpressionStatement", "src": "6747:37:3" } ] }, "name": "store_literal_in_memory_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "6660:6:3", "type": "" } ], "src": "6562:229:3" }, { "body": { "nodeType": "YulBlock", "src": "6943:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "6953:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7019:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7024:2:3", "type": "", "value": "42" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "6960:58:3" }, "nodeType": "YulFunctionCall", "src": "6960:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "6953:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7125:3:3" } ], "functionName": { "name": "store_literal_in_memory_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0", "nodeType": "YulIdentifier", "src": "7036:88:3" }, "nodeType": "YulFunctionCall", "src": "7036:93:3" }, "nodeType": "YulExpressionStatement", "src": "7036:93:3" }, { "nodeType": "YulAssignment", "src": "7138:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7149:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7154:2:3", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7145:3:3" }, "nodeType": "YulFunctionCall", "src": "7145:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "7138:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "6931:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "6939:3:3", "type": "" } ], "src": "6797:366:3" }, { "body": { "nodeType": "YulBlock", "src": "7340:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "7350:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "7362:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7373:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7358:3:3" }, "nodeType": "YulFunctionCall", "src": "7358:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "7350:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "7397:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7408:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7393:3:3" }, "nodeType": "YulFunctionCall", "src": "7393:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "7416:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "7422:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "7412:3:3" }, "nodeType": "YulFunctionCall", "src": "7412:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "7386:6:3" }, "nodeType": "YulFunctionCall", "src": "7386:47:3" }, "nodeType": "YulExpressionStatement", "src": "7386:47:3" }, { "nodeType": "YulAssignment", "src": "7442:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "7576:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "7450:124:3" }, "nodeType": "YulFunctionCall", "src": "7450:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "7442:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "7320:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "7335:4:3", "type": "" } ], "src": "7169:419:3" }, { "body": { "nodeType": "YulBlock", "src": "7700:120:3", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "7722:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7730:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7718:3:3" }, "nodeType": "YulFunctionCall", "src": "7718:14:3" }, { "hexValue": "546869732066756e6374696f6e206f6e6c7920746865206f776e65722063616e", "kind": "string", "nodeType": "YulLiteral", "src": "7734:34:3", "type": "", "value": "This function only the owner can" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "7711:6:3" }, "nodeType": "YulFunctionCall", "src": "7711:58:3" }, "nodeType": "YulExpressionStatement", "src": "7711:58:3" }, { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "7790:6:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "7798:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "7786:3:3" }, "nodeType": "YulFunctionCall", "src": "7786:15:3" }, { "hexValue": "20616363657373", "kind": "string", "nodeType": "YulLiteral", "src": "7803:9:3", "type": "", "value": " access" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "7779:6:3" }, "nodeType": "YulFunctionCall", "src": "7779:34:3" }, "nodeType": "YulExpressionStatement", "src": "7779:34:3" } ] }, "name": "store_literal_in_memory_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "7692:6:3", "type": "" } ], "src": "7594:226:3" }, { "body": { "nodeType": "YulBlock", "src": "7972:220:3", "statements": [ { "nodeType": "YulAssignment", "src": "7982:74:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "8048:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8053:2:3", "type": "", "value": "39" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "7989:58:3" }, "nodeType": "YulFunctionCall", "src": "7989:67:3" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "7982:3:3" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "8154:3:3" } ], "functionName": { "name": "store_literal_in_memory_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002", "nodeType": "YulIdentifier", "src": "8065:88:3" }, "nodeType": "YulFunctionCall", "src": "8065:93:3" }, "nodeType": "YulExpressionStatement", "src": "8065:93:3" }, { "nodeType": "YulAssignment", "src": "8167:19:3", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "8178:3:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8183:2:3", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8174:3:3" }, "nodeType": "YulFunctionCall", "src": "8174:12:3" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "8167:3:3" } ] } ] }, "name": "abi_encode_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "7960:3:3", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "7968:3:3", "type": "" } ], "src": "7826:366:3" }, { "body": { "nodeType": "YulBlock", "src": "8369:248:3", "statements": [ { "nodeType": "YulAssignment", "src": "8379:26:3", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "8391:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8402:2:3", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8387:3:3" }, "nodeType": "YulFunctionCall", "src": "8387:18:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8379:4:3" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "8426:9:3" }, { "kind": "number", "nodeType": "YulLiteral", "src": "8437:1:3", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "8422:3:3" }, "nodeType": "YulFunctionCall", "src": "8422:17:3" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8445:4:3" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "8451:9:3" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "8441:3:3" }, "nodeType": "YulFunctionCall", "src": "8441:20:3" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "8415:6:3" }, "nodeType": "YulFunctionCall", "src": "8415:47:3" }, "nodeType": "YulExpressionStatement", "src": "8415:47:3" }, { "nodeType": "YulAssignment", "src": "8471:139:3", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8605:4:3" } ], "functionName": { "name": "abi_encode_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "8479:124:3" }, "nodeType": "YulFunctionCall", "src": "8479:131:3" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "8471:4:3" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "8349:9:3", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "8364:4:3", "type": "" } ], "src": "8198:419:3" } ] }, "contents": "{\n\n function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n abi_encode_t_address_to_t_address(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240(memPtr) {\n\n mstore(add(memPtr, 0), \"You're not our ATM.\")\n\n }\n\n function abi_encode_t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function store_literal_in_memory_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0(memPtr) {\n\n mstore(add(memPtr, 0), \"Bank doesn't have enough money t\")\n\n mstore(add(memPtr, 32), \"o withdraw\")\n\n }\n\n function abi_encode_t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002(memPtr) {\n\n mstore(add(memPtr, 0), \"This function only the owner can\")\n\n mstore(add(memPtr, 32), \" access\")\n\n }\n\n function abi_encode_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 39)\n store_literal_in_memory_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", "id": 3, "language": "Yul", "name": "#utility.yul" } ], "sourceMap": "96:897:1:-:0;;;295:16;;;;;;;;;;159:10:2;151:5;;:18;;;;;;;;;;;;;;;;;;96:897:1;;;;;;", "deployedSourceMap": "96:897:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;514:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;684:307;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;128:21;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;285:89:2;;;;;;;;;;;;;:::i;:::-;;593:88:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;91:20:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;514:76:1;554:16;582:4;575:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;514:76;:::o;684:307::-;337:10;363:6;359:103;375:4;:11;;;;373:1;:13;359:103;;;415:4;420:1;415:7;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;401:21;;:10;:21;;;398:60;;437:4;429:12;;447:5;;398:60;388:3;;;;;:::i;:::-;;;;359:103;;;;473:5;465:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;744:21:::1;737:6;:28;734:154;;;776:50;784:10;796:6;804:21;776:50;;;;;;;;:::i;:::-;;;;;;;;831:52;;;;;;;;;;:::i;:::-;;;;;;;;734:154;899:10;891:28;;:36;920:6;891:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;936:51;945:10;957:6;965:21;936:51;;;;;;;;:::i;:::-;;;;;;;;333:178:::0;684:307;:::o;128:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;285:89:2:-;224:5;;;;;;;;;;210:19;;:10;:19;;;202:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;332:5:::1;::::0;::::1;;;;;;;;324:23;;:46;348:21;324:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;285:89::o:0;593:88:1:-;224:5:2;;;;;;;;;;210:19;;:10;:19;;;202:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;643:4:1::1;653:3;643:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;666:11;673:3;666:11;;;;;;:::i;:::-;;;;;;;;593:88:::0;:::o;91:20:2:-;;;;;;;;;;;;:::o;7:114:3:-;74:6;108:5;102:12;92:22;;7:114;;;:::o;127:184::-;226:11;260:6;255:3;248:19;300:4;295:3;291:14;276:29;;127:184;;;;:::o;317:132::-;384:4;407:3;399:11;;437:4;432:3;428:14;420:22;;317:132;;;:::o;455:126::-;492:7;532:42;525:5;521:54;510:65;;455:126;;;:::o;587:96::-;624:7;653:24;671:5;653:24;:::i;:::-;642:35;;587:96;;;:::o;689:108::-;766:24;784:5;766:24;:::i;:::-;761:3;754:37;689:108;;:::o;803:179::-;872:10;893:46;935:3;927:6;893:46;:::i;:::-;971:4;966:3;962:14;948:28;;803:179;;;;:::o;988:113::-;1058:4;1090;1085:3;1081:14;1073:22;;988:113;;;:::o;1137:732::-;1256:3;1285:54;1333:5;1285:54;:::i;:::-;1355:86;1434:6;1429:3;1355:86;:::i;:::-;1348:93;;1465:56;1515:5;1465:56;:::i;:::-;1544:7;1575:1;1560:284;1585:6;1582:1;1579:13;1560:284;;;1661:6;1655:13;1688:63;1747:3;1732:13;1688:63;:::i;:::-;1681:70;;1774:60;1827:6;1774:60;:::i;:::-;1764:70;;1620:224;1607:1;1604;1600:9;1595:14;;1560:284;;;1564:14;1860:3;1853:10;;1261:608;;;1137:732;;;;:::o;1875:373::-;2018:4;2056:2;2045:9;2041:18;2033:26;;2105:9;2099:4;2095:20;2091:1;2080:9;2076:17;2069:47;2133:108;2236:4;2227:6;2133:108;:::i;:::-;2125:116;;1875:373;;;;:::o;2335:117::-;2444:1;2441;2434:12;2581:77;2618:7;2647:5;2636:16;;2581:77;;;:::o;2664:122::-;2737:24;2755:5;2737:24;:::i;:::-;2730:5;2727:35;2717:63;;2776:1;2773;2766:12;2717:63;2664:122;:::o;2792:139::-;2838:5;2876:6;2863:20;2854:29;;2892:33;2919:5;2892:33;:::i;:::-;2792:139;;;;:::o;2937:329::-;2996:6;3045:2;3033:9;3024:7;3020:23;3016:32;3013:119;;;3051:79;;:::i;:::-;3013:119;3171:1;3196:53;3241:7;3232:6;3221:9;3217:22;3196:53;:::i;:::-;3186:63;;3142:117;2937:329;;;;:::o;3272:118::-;3359:24;3377:5;3359:24;:::i;:::-;3354:3;3347:37;3272:118;;:::o;3396:222::-;3489:4;3527:2;3516:9;3512:18;3504:26;;3540:71;3608:1;3597:9;3593:17;3584:6;3540:71;:::i;:::-;3396:222;;;;:::o;3624:122::-;3697:24;3715:5;3697:24;:::i;:::-;3690:5;3687:35;3677:63;;3736:1;3733;3726:12;3677:63;3624:122;:::o;3752:139::-;3798:5;3836:6;3823:20;3814:29;;3852:33;3879:5;3852:33;:::i;:::-;3752:139;;;;:::o;3897:329::-;3956:6;4005:2;3993:9;3984:7;3980:23;3976:32;3973:119;;;4011:79;;:::i;:::-;3973:119;4131:1;4156:53;4201:7;4192:6;4181:9;4177:22;4156:53;:::i;:::-;4146:63;;4102:117;3897:329;;;;:::o;4232:180::-;4280:77;4277:1;4270:88;4377:4;4374:1;4367:15;4401:4;4398:1;4391:15;4418:180;4466:77;4463:1;4456:88;4563:4;4560:1;4553:15;4587:4;4584:1;4577:15;4604:233;4643:3;4666:24;4684:5;4666:24;:::i;:::-;4657:33;;4712:66;4705:5;4702:77;4699:103;;4782:18;;:::i;:::-;4699:103;4829:1;4822:5;4818:13;4811:20;;4604:233;;;:::o;4843:169::-;4927:11;4961:6;4956:3;4949:19;5001:4;4996:3;4992:14;4977:29;;4843:169;;;;:::o;5018:::-;5158:21;5154:1;5146:6;5142:14;5135:45;5018:169;:::o;5193:366::-;5335:3;5356:67;5420:2;5415:3;5356:67;:::i;:::-;5349:74;;5432:93;5521:3;5432:93;:::i;:::-;5550:2;5545:3;5541:12;5534:19;;5193:366;;;:::o;5565:419::-;5731:4;5769:2;5758:9;5754:18;5746:26;;5818:9;5812:4;5808:20;5804:1;5793:9;5789:17;5782:47;5846:131;5972:4;5846:131;:::i;:::-;5838:139;;5565:419;;;:::o;5990:118::-;6077:24;6095:5;6077:24;:::i;:::-;6072:3;6065:37;5990:118;;:::o;6114:442::-;6263:4;6301:2;6290:9;6286:18;6278:26;;6314:71;6382:1;6371:9;6367:17;6358:6;6314:71;:::i;:::-;6395:72;6463:2;6452:9;6448:18;6439:6;6395:72;:::i;:::-;6477;6545:2;6534:9;6530:18;6521:6;6477:72;:::i;:::-;6114:442;;;;;;:::o;6562:229::-;6702:34;6698:1;6690:6;6686:14;6679:58;6771:12;6766:2;6758:6;6754:15;6747:37;6562:229;:::o;6797:366::-;6939:3;6960:67;7024:2;7019:3;6960:67;:::i;:::-;6953:74;;7036:93;7125:3;7036:93;:::i;:::-;7154:2;7149:3;7145:12;7138:19;;6797:366;;;:::o;7169:419::-;7335:4;7373:2;7362:9;7358:18;7350:26;;7422:9;7416:4;7412:20;7408:1;7397:9;7393:17;7386:47;7450:131;7576:4;7450:131;:::i;:::-;7442:139;;7169:419;;;:::o;7594:226::-;7734:34;7730:1;7722:6;7718:14;7711:58;7803:9;7798:2;7790:6;7786:15;7779:34;7594:226;:::o;7826:366::-;7968:3;7989:67;8053:2;8048:3;7989:67;:::i;:::-;7982:74;;8065:93;8154:3;8065:93;:::i;:::-;8183:2;8178:3;8174:12;8167:19;;7826:366;;;:::o;8198:419::-;8364:4;8402:2;8391:9;8387:18;8379:26;;8451:9;8445:4;8441:20;8437:1;8426:9;8422:17;8415:47;8479:131;8605:4;8479:131;:::i;:::-;8471:139;;8198:419;;;:::o", "source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport \"./BaseContract.sol\";\n\ncontract Bank is BaseContract{\n\taddress[] public atms;\n\tevent NoMoney(address from, uint amount, uint balance);\n\tevent Withdraw(address from, uint amount, uint balance);\n\tevent AddATM(address atm);\n\tconstructor() {}\n\n\tmodifier onlyATM() {\n\t\tbool found = false;\n\t\tfor(uint i=0; iaddress(this).balance){\n\t\t\temit NoMoney(msg.sender, amount, address(this).balance);\n\t\t\trevert(\"Bank doesn't have enough money to withdraw\");\n\t\t}\n\t\tpayable(msg.sender).transfer(amount);\n\t\temit Withdraw(msg.sender, amount, address(this).balance);\n\t}\n}\n", "sourcePath": "/srv/http/code/1112_blockchain/advance_faucet/contracts/Bank.sol", "ast": { "absolutePath": "project:/contracts/Bank.sol", "exportedSymbols": { "Bank": [ 246 ], "BaseContract": [ 296 ] }, "id": 247, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 97, "literals": [ "solidity", ">=", "0.4", ".22", "<", "0.9", ".0" ], "nodeType": "PragmaDirective", "src": "32:32:1" }, { "absolutePath": "project:/contracts/BaseContract.sol", "file": "./BaseContract.sol", "id": 98, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 247, "sourceUnit": 297, "src": "66:28:1", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 99, "name": "BaseContract", "nameLocations": [ "113:12:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 296, "src": "113:12:1" }, "id": 100, "nodeType": "InheritanceSpecifier", "src": "113:12:1" } ], "canonicalName": "Bank", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 246, "linearizedBaseContracts": [ 246, 296 ], "name": "Bank", "nameLocation": "105:4:1", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "5f310fc0", "id": 103, "mutability": "mutable", "name": "atms", "nameLocation": "145:4:1", "nodeType": "VariableDeclaration", "scope": 246, "src": "128:21:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[]" }, "typeName": { "baseType": { "id": 101, "name": "address", "nodeType": "ElementaryTypeName", "src": "128:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 102, "nodeType": "ArrayTypeName", "src": "128:9:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "public" }, { "anonymous": false, "eventSelector": "468c981a92e5fd7f5019ff02c21de5dc81e64d992f7dd86e7d33dfc2e5fdb470", "id": 111, "name": "NoMoney", "nameLocation": "158:7:1", "nodeType": "EventDefinition", "parameters": { "id": 110, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 105, "indexed": false, "mutability": "mutable", "name": "from", "nameLocation": "174:4:1", "nodeType": "VariableDeclaration", "scope": 111, "src": "166:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 104, "name": "address", "nodeType": "ElementaryTypeName", "src": "166:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 107, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "185:6:1", "nodeType": "VariableDeclaration", "scope": 111, "src": "180:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 106, "name": "uint", "nodeType": "ElementaryTypeName", "src": "180:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 109, "indexed": false, "mutability": "mutable", "name": "balance", "nameLocation": "198:7:1", "nodeType": "VariableDeclaration", "scope": 111, "src": "193:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 108, "name": "uint", "nodeType": "ElementaryTypeName", "src": "193:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "165:41:1" }, "src": "152:55:1" }, { "anonymous": false, "eventSelector": "f279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568", "id": 119, "name": "Withdraw", "nameLocation": "215:8:1", "nodeType": "EventDefinition", "parameters": { "id": 118, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 113, "indexed": false, "mutability": "mutable", "name": "from", "nameLocation": "232:4:1", "nodeType": "VariableDeclaration", "scope": 119, "src": "224:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 112, "name": "address", "nodeType": "ElementaryTypeName", "src": "224:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 115, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "243:6:1", "nodeType": "VariableDeclaration", "scope": 119, "src": "238:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 114, "name": "uint", "nodeType": "ElementaryTypeName", "src": "238:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 117, "indexed": false, "mutability": "mutable", "name": "balance", "nameLocation": "256:7:1", "nodeType": "VariableDeclaration", "scope": 119, "src": "251:12:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 116, "name": "uint", "nodeType": "ElementaryTypeName", "src": "251:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "223:41:1" }, "src": "209:56:1" }, { "anonymous": false, "eventSelector": "935726013d7722036a2b3b546d46f8fd4f43a3dcd0d0043b7cdab6b8b2b4b115", "id": 123, "name": "AddATM", "nameLocation": "273:6:1", "nodeType": "EventDefinition", "parameters": { "id": 122, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 121, "indexed": false, "mutability": "mutable", "name": "atm", "nameLocation": "288:3:1", "nodeType": "VariableDeclaration", "scope": 123, "src": "280:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 120, "name": "address", "nodeType": "ElementaryTypeName", "src": "280:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "279:13:1" }, "src": "267:26:1" }, { "body": { "id": 126, "nodeType": "Block", "src": "309:2:1", "statements": [] }, "id": 127, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 124, "nodeType": "ParameterList", "parameters": [], "src": "306:2:1" }, "returnParameters": { "id": 125, "nodeType": "ParameterList", "parameters": [], "src": "309:0:1" }, "scope": 246, "src": "295:16:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 165, "nodeType": "Block", "src": "333:178:1", "statements": [ { "assignments": [ 130 ], "declarations": [ { "constant": false, "id": 130, "mutability": "mutable", "name": "found", "nameLocation": "342:5:1", "nodeType": "VariableDeclaration", "scope": 165, "src": "337:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 129, "name": "bool", "nodeType": "ElementaryTypeName", "src": "337:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 132, "initialValue": { "hexValue": "66616c7365", "id": 131, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "350:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "nodeType": "VariableDeclarationStatement", "src": "337:18:1" }, { "body": { "id": 157, "nodeType": "Block", "src": "393:69:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 144, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "401:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "405:6:1", "memberName": "sender", "nodeType": "MemberAccess", "src": "401:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "baseExpression": { "id": 146, "name": "atms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 103, "src": "415:4:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 148, "indexExpression": { "id": 147, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, "src": "420:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "415:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "401:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 156, "nodeType": "IfStatement", "src": "398:60:1", "trueBody": { "id": 155, "nodeType": "Block", "src": "423:35:1", "statements": [ { "expression": { "id": 152, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 150, "name": "found", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, "src": "429:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "437:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "429:12:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 153, "nodeType": "ExpressionStatement", "src": "429:12:1" }, { "id": 154, "nodeType": "Break", "src": "447:5:1" } ] } } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 140, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 137, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, "src": "373:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 138, "name": "atms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 103, "src": "375:4:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "380:6:1", "memberName": "length", "nodeType": "MemberAccess", "src": "375:11:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "373:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 158, "initializationExpression": { "assignments": [ 134 ], "declarations": [ { "constant": false, "id": 134, "mutability": "mutable", "name": "i", "nameLocation": "368:1:1", "nodeType": "VariableDeclaration", "scope": 158, "src": "363:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 133, "name": "uint", "nodeType": "ElementaryTypeName", "src": "363:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 136, "initialValue": { "hexValue": "30", "id": 135, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "370:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "363:8:1" }, "loopExpression": { "expression": { "id": 142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "388:3:1", "subExpression": { "id": 141, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 134, "src": "388:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 143, "nodeType": "ExpressionStatement", "src": "388:3:1" }, "nodeType": "ForStatement", "src": "359:103:1" }, { "expression": { "arguments": [ { "id": 160, "name": "found", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, "src": "473:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "596f75277265206e6f74206f75722041544d2e", "id": 161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "480:21:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240", "typeString": "literal_string \"You're not our ATM.\"" }, "value": "You're not our ATM." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ecf4acf33105f8fdcc92b1c56968f8eddd1fb1d581cd9de39e32785fffcef240", "typeString": "literal_string \"You're not our ATM.\"" } ], "id": 159, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "465:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 162, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "465:37:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 163, "nodeType": "ExpressionStatement", "src": "465:37:1" }, { "id": 164, "nodeType": "PlaceholderStatement", "src": "506:1:1" } ] }, "id": 166, "name": "onlyATM", "nameLocation": "323:7:1", "nodeType": "ModifierDefinition", "parameters": { "id": 128, "nodeType": "ParameterList", "parameters": [], "src": "330:2:1" }, "src": "314:197:1", "virtual": false, "visibility": "internal" }, { "body": { "id": 174, "nodeType": "Block", "src": "571:19:1", "statements": [ { "expression": { "id": 172, "name": "atms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 103, "src": "582:4:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "functionReturnParameters": 171, "id": 173, "nodeType": "Return", "src": "575:11:1" } ] }, "functionSelector": "113d88d0", "id": 175, "implemented": true, "kind": "function", "modifiers": [], "name": "getATMs", "nameLocation": "523:7:1", "nodeType": "FunctionDefinition", "parameters": { "id": 167, "nodeType": "ParameterList", "parameters": [], "src": "530:2:1" }, "returnParameters": { "id": 171, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 170, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 175, "src": "554:16:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 168, "name": "address", "nodeType": "ElementaryTypeName", "src": "554:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 169, "nodeType": "ArrayTypeName", "src": "554:9:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "internal" } ], "src": "553:18:1" }, "scope": 246, "src": "514:76:1", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 192, "nodeType": "Block", "src": "639:42:1", "statements": [ { "expression": { "arguments": [ { "id": 185, "name": "atm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, "src": "653:3:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 182, "name": "atms", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 103, "src": "643:4:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 184, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "648:4:1", "memberName": "push", "nodeType": "MemberAccess", "src": "643:9:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", "typeString": "function (address[] storage pointer,address)" } }, "id": 186, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "643:14:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 187, "nodeType": "ExpressionStatement", "src": "643:14:1" }, { "eventCall": { "arguments": [ { "id": 189, "name": "atm", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 177, "src": "673:3:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 188, "name": "AddATM", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 123, "src": "666:6:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 190, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "666:11:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 191, "nodeType": "EmitStatement", "src": "661:16:1" } ] }, "functionSelector": "85c1a002", "id": 193, "implemented": true, "kind": "function", "modifiers": [ { "id": 180, "kind": "modifierInvocation", "modifierName": { "id": 179, "name": "onlyOwner", "nameLocations": [ "629:9:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 273, "src": "629:9:1" }, "nodeType": "ModifierInvocation", "src": "629:9:1" } ], "name": "addATM", "nameLocation": "602:6:1", "nodeType": "FunctionDefinition", "parameters": { "id": 178, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 177, "mutability": "mutable", "name": "atm", "nameLocation": "617:3:1", "nodeType": "VariableDeclaration", "scope": 193, "src": "609:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 176, "name": "address", "nodeType": "ElementaryTypeName", "src": "609:7:1", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "608:13:1" }, "returnParameters": { "id": 181, "nodeType": "ParameterList", "parameters": [], "src": "639:0:1" }, "scope": 246, "src": "593:88:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 244, "nodeType": "Block", "src": "730:261:1", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 206, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 200, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 195, "src": "737:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "expression": { "arguments": [ { "id": 203, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, "src": "752:4:1", "typeDescriptions": { "typeIdentifier": "t_contract$_Bank_$246", "typeString": "contract Bank" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Bank_$246", "typeString": "contract Bank" } ], "id": 202, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "744:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 201, "name": "address", "nodeType": "ElementaryTypeName", "src": "744:7:1", "typeDescriptions": {} } }, "id": 204, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "744:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "758:7:1", "memberName": "balance", "nodeType": "MemberAccess", "src": "744:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "737:28:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 223, "nodeType": "IfStatement", "src": "734:154:1", "trueBody": { "id": 222, "nodeType": "Block", "src": "766:122:1", "statements": [ { "eventCall": { "arguments": [ { "expression": { "id": 208, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "784:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "788:6:1", "memberName": "sender", "nodeType": "MemberAccess", "src": "784:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 210, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 195, "src": "796:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "expression": { "arguments": [ { "id": 213, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, "src": "812:4:1", "typeDescriptions": { "typeIdentifier": "t_contract$_Bank_$246", "typeString": "contract Bank" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Bank_$246", "typeString": "contract Bank" } ], "id": 212, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "804:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 211, "name": "address", "nodeType": "ElementaryTypeName", "src": "804:7:1", "typeDescriptions": {} } }, "id": 214, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "804:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 215, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "818:7:1", "memberName": "balance", "nodeType": "MemberAccess", "src": "804:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 207, "name": "NoMoney", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 111, "src": "776:7:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, "id": 216, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "776:50:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 217, "nodeType": "EmitStatement", "src": "771:55:1" }, { "expression": { "arguments": [ { "hexValue": "42616e6b20646f65736e2774206861766520656e6f756768206d6f6e657920746f207769746864726177", "id": 219, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "838:44:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0", "typeString": "literal_string \"Bank doesn't have enough money to withdraw\"" }, "value": "Bank doesn't have enough money to withdraw" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_32a205a20fa87b7e7258fe360db2821288a514e1c3fb618adbfdd65354087da0", "typeString": "literal_string \"Bank doesn't have enough money to withdraw\"" } ], "id": 218, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967277, 4294967277 ], "referencedDeclaration": 4294967277, "src": "831:6:1", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 220, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "831:52:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 221, "nodeType": "ExpressionStatement", "src": "831:52:1" } ] } }, { "expression": { "arguments": [ { "id": 230, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 195, "src": "920:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "arguments": [ { "expression": { "id": 226, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "899:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "903:6:1", "memberName": "sender", "nodeType": "MemberAccess", "src": "899:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 225, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "891:8:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { "id": 224, "name": "address", "nodeType": "ElementaryTypeName", "src": "891:8:1", "stateMutability": "payable", "typeDescriptions": {} } }, "id": 228, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "891:19:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 229, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "911:8:1", "memberName": "transfer", "nodeType": "MemberAccess", "src": "891:28:1", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 231, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "891:36:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 232, "nodeType": "ExpressionStatement", "src": "891:36:1" }, { "eventCall": { "arguments": [ { "expression": { "id": 234, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "945:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "949:6:1", "memberName": "sender", "nodeType": "MemberAccess", "src": "945:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 236, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 195, "src": "957:6:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "expression": { "arguments": [ { "id": 239, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, "src": "973:4:1", "typeDescriptions": { "typeIdentifier": "t_contract$_Bank_$246", "typeString": "contract Bank" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Bank_$246", "typeString": "contract Bank" } ], "id": 238, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "965:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 237, "name": "address", "nodeType": "ElementaryTypeName", "src": "965:7:1", "typeDescriptions": {} } }, "id": 240, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "965:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "979:7:1", "memberName": "balance", "nodeType": "MemberAccess", "src": "965:21:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 233, "name": "Withdraw", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 119, "src": "936:8:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256)" } }, "id": 242, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "936:51:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 243, "nodeType": "EmitStatement", "src": "931:56:1" } ] }, "functionSelector": "2e1a7d4d", "id": 245, "implemented": true, "kind": "function", "modifiers": [ { "id": 198, "kind": "modifierInvocation", "modifierName": { "id": 197, "name": "onlyATM", "nameLocations": [ "722:7:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 166, "src": "722:7:1" }, "nodeType": "ModifierInvocation", "src": "722:7:1" } ], "name": "withdraw", "nameLocation": "693:8:1", "nodeType": "FunctionDefinition", "parameters": { "id": 196, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 195, "mutability": "mutable", "name": "amount", "nameLocation": "707:6:1", "nodeType": "VariableDeclaration", "scope": 245, "src": "702:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 194, "name": "uint", "nodeType": "ElementaryTypeName", "src": "702:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "701:13:1" }, "returnParameters": { "id": 199, "nodeType": "ParameterList", "parameters": [], "src": "730:0:1" }, "scope": 246, "src": "684:307:1", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 247, "src": "96:897:1", "usedErrors": [] } ], "src": "32:962:1" }, "compiler": { "name": "solc", "version": "0.8.19+commit.7dd6d404.Emscripten.clang" }, "networks": { "5777": { "events": { "0x935726013d7722036a2b3b546d46f8fd4f43a3dcd0d0043b7cdab6b8b2b4b115": { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "atm", "type": "address" } ], "name": "AddATM", "type": "event" }, "0x468c981a92e5fd7f5019ff02c21de5dc81e64d992f7dd86e7d33dfc2e5fdb470": { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "NoMoney", "type": "event" }, "0xf279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568": { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balance", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, "0xa163a6249e860c278ef4049759a7f7c7e8c141d30fd634fda9b5a6a95d111a30": { "anonymous": false, "inputs": [], "name": "Test", "type": "event" }, "0xf58fef8e187ef8dfd7bef096c1ef3e4f3c54f98d95b8ad5659349b07e61204df": { "anonymous": false, "inputs": [], "name": "Destroy", "type": "event" } }, "links": {}, "address": "0x23EcF6BccF70F93e847f32FdcA50407209241469", "transactionHash": "0x76c55d6676f1af13acd989b8ffe432719d90212c3d9b32af29a0651acbbd8ea8" }, "11155111": { "events": {}, "links": {}, "address": "0xc9083c99Bf625cD9eDbB3Ec1C62b5025D45418c6", "transactionHash": "0x839ed554ca3125c95c5ccb13cf9acec12876cdb68bc0628eef953ca180678f0f" } }, "schemaVersion": "3.4.13", "updatedAt": "2023-04-06T16:11:17.463Z", "networkType": "ethereum", "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }