4051 lines
162 KiB
JSON
4051 lines
162 KiB
JSON
{
|
|
"contractName": "ATM",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "bank_addr",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"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": [
|
|
{
|
|
"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\":[{\"internalType\":\"address\",\"name\":\"bank_addr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"destroy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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/ATM.sol\":\"ATM\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/ATM.sol\":{\"keccak256\":\"0xacb5a205088c1cb9258949f4b030c82ce8bd44deac74e5f95cd4b9b41508a60d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e18c28ae09afcb826dee6fad30703aba8171d7da87da8153e77e6bc8df6c0616\",\"dweb:/ipfs/QmdmzwzQUVHfEqXWz26VrV5tFCK58Lk8mzrj95B25xN9Af\"]},\"project:/contracts/Bank.sol\":{\"keccak256\":\"0x7e71586662e9ff25c22934c0898039b5027d914971e8eb2876ad100c17105a04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a4b07fc981db749280db101aed247db5698848b980348238b59058921a2396f\",\"dweb:/ipfs/QmWS5cvNoaq5MQFMzR6udwPWTu7NcoZUbLifgbLb5DpHMo\"]},\"project:/contracts/BaseContract.sol\":{\"keccak256\":\"0xe4a7a376123fde9f62e656195c2b5208f8fe81b22346263c4f52fd2408eb3ef1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://921d16d096d80ce97a7596e3706588d1bbf0e3f55df790bfedac171cd9bd2dc5\",\"dweb:/ipfs/QmQmXW1HZoNrhhEtgSxapUg8hghEtVWJ1DLvbDZNbikr5j\"]}},\"version\":1}",
|
|
"bytecode": "0x608060405234801561001057600080fd5b506040516107c03803806107c08339818101604052810190610032919061011c565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610149565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100e9826100be565b9050919050565b6100f9816100de565b811461010457600080fd5b50565b600081519050610116816100f0565b92915050565b600060208284031215610132576101316100b9565b5b600061014084828501610107565b91505092915050565b610668806101586000396000f3fe6080604052600436106100385760003560e01c80632e1a7d4d1461004457806383197ef01461006d5780638da5cb5b146100845761003f565b3661003f57005b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610382565b6100af565b005b34801561007957600080fd5b5061008261022c565b005b34801561009057600080fd5b50610099610323565b6040516100a691906103f0565b60405180910390f35b67016345785d8a0000471161015457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d6706f05b59d3b200006040518263ffffffff1660e01b81526004016101219190610450565b600060405180830381600087803b15801561013b57600080fd5b505af115801561014f573d6000803e3d6000fd5b505050505b67016345785d8a000081111561019f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610196906104ee565b60405180910390fd5b478111156101e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d990610580565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610228573d6000803e3d6000fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b190610612565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610320573d6000803e3d6000fd5b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b6000819050919050565b61035f8161034c565b811461036a57600080fd5b50565b60008135905061037c81610356565b92915050565b60006020828403121561039857610397610347565b5b60006103a68482850161036d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103da826103af565b9050919050565b6103ea816103cf565b82525050565b600060208201905061040560008301846103e1565b92915050565b6000819050919050565b6000819050919050565b600061043a6104356104308461040b565b610415565b61034c565b9050919050565b61044a8161041f565b82525050565b60006020820190506104656000830184610441565b92915050565b600082825260208201905092915050565b7f596f75207265717565737420616d6f756e742063616e6e6f742062696767657260008201527f207468616e20302e312065746865720000000000000000000000000000000000602082015250565b60006104d8602f8361046b565b91506104e38261047c565b604082019050919050565b60006020820190508181036000830152610507816104cb565b9050919050565b7f546869732041544d20646f65736e2774206861766520656e6f7567682045544860008201527f20746f2077697468647261770000000000000000000000000000000000000000602082015250565b600061056a602c8361046b565b91506105758261050e565b604082019050919050565b600060208201905081810360008301526105998161055d565b9050919050565b7f546869732066756e6374696f6e206f6e6c7920746865206f776e65722063616e60008201527f2061636365737300000000000000000000000000000000000000000000000000602082015250565b60006105fc60278361046b565b9150610607826105a0565b604082019050919050565b6000602082019050818103600083015261062b816105ef565b905091905056fea26469706673582212200521cc993228aa54841fa64b380119092ed1328d422246267ded778d7e74a40f64736f6c63430008130033",
|
|
"deployedBytecode": "0x6080604052600436106100385760003560e01c80632e1a7d4d1461004457806383197ef01461006d5780638da5cb5b146100845761003f565b3661003f57005b600080fd5b34801561005057600080fd5b5061006b60048036038101906100669190610382565b6100af565b005b34801561007957600080fd5b5061008261022c565b005b34801561009057600080fd5b50610099610323565b6040516100a691906103f0565b60405180910390f35b67016345785d8a0000471161015457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d6706f05b59d3b200006040518263ffffffff1660e01b81526004016101219190610450565b600060405180830381600087803b15801561013b57600080fd5b505af115801561014f573d6000803e3d6000fd5b505050505b67016345785d8a000081111561019f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610196906104ee565b60405180910390fd5b478111156101e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d990610580565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610228573d6000803e3d6000fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b190610612565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610320573d6000803e3d6000fd5b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b6000819050919050565b61035f8161034c565b811461036a57600080fd5b50565b60008135905061037c81610356565b92915050565b60006020828403121561039857610397610347565b5b60006103a68482850161036d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103da826103af565b9050919050565b6103ea816103cf565b82525050565b600060208201905061040560008301846103e1565b92915050565b6000819050919050565b6000819050919050565b600061043a6104356104308461040b565b610415565b61034c565b9050919050565b61044a8161041f565b82525050565b60006020820190506104656000830184610441565b92915050565b600082825260208201905092915050565b7f596f75207265717565737420616d6f756e742063616e6e6f742062696767657260008201527f207468616e20302e312065746865720000000000000000000000000000000000602082015250565b60006104d8602f8361046b565b91506104e38261047c565b604082019050919050565b60006020820190508181036000830152610507816104cb565b9050919050565b7f546869732041544d20646f65736e2774206861766520656e6f7567682045544860008201527f20746f2077697468647261770000000000000000000000000000000000000000602082015250565b600061056a602c8361046b565b91506105758261050e565b604082019050919050565b600060208201905081810360008301526105998161055d565b9050919050565b7f546869732066756e6374696f6e206f6e6c7920746865206f776e65722063616e60008201527f2061636365737300000000000000000000000000000000000000000000000000602082015250565b60006105fc60278361046b565b9150610607826105a0565b604082019050919050565b6000602082019050818103600083015261062b816105ef565b905091905056fea26469706673582212200521cc993228aa54841fa64b380119092ed1328d422246267ded778d7e74a40f64736f6c63430008130033",
|
|
"immutableReferences": {},
|
|
"generatedSources": [
|
|
{
|
|
"ast": {
|
|
"nodeType": "YulBlock",
|
|
"src": "0:1199:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "47:35:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "57:19:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "73:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "67:5:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "67:9:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "57:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "allocate_unbounded",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"returnVariables": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "40:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7:75:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "177:28:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "194:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "197:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "187:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "187:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "187:12:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "88:117:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "300:28:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "317:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "320:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "310:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "310:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "310:12:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "211:117:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "379:81:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "389:65:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "404:5:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "411:42:3",
|
|
"type": "",
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "400:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "400:54:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "389:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint160",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "361:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "371:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "334:126:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "511:51:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "521:35:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "550:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint160",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "532:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "532:24:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "521:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "493:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "503:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "466:96:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "611:79:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "668:16:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "677:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "680:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "670:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "670:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "670:12:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "634:5:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "659:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "641:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "641:24:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "631:2:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "631:35:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "624:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "624:43:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "621:63:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "604:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "568:122:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "759:80:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "769:22:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "784:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "778:5:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "778:13:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "769:5:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "827:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "800:26:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "800:33:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "800:33:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_address_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "737:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "745:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "753:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "696:143:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "922:274:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "968:83:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "970:77:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "970:79:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "970:79:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "943:7:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "952:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "939:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "939:23:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "964:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "935:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "935:32:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "932:119:3"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "1061:128:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "1076:15:3",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1090:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1080:6:3",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1105:74:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1151:9:3"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1162:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1147:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1147:22:3"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1171:7:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address_fromMemory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1115:31:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1115:64:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1105:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_address_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "892:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "903:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "915:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "845:351:3"
|
|
}
|
|
]
|
|
},
|
|
"contents": "{\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_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 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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(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_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
|
|
"id": 3,
|
|
"language": "Yul",
|
|
"name": "#utility.yul"
|
|
}
|
|
],
|
|
"deployedGeneratedSources": [
|
|
{
|
|
"ast": {
|
|
"nodeType": "YulBlock",
|
|
"src": "0:5720:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "47:35:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "57:19:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "73:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "67:5:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "67:9:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "57:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "allocate_unbounded",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"returnVariables": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "40:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "7:75:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "177:28:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "194:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "197:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "187:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "187:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "187:12:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "88:117:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "300:28:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "317:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "320:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "310:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "310:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "310:12:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "211:117:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "379:32:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "389:16:3",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "400:5:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "389:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "361:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "371:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "334:77:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "460:79:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "517:16:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "526:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "529:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "519:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "519:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "519:12:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "483:5:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "508:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "490:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "490:24:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "480:2:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "480:35:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "473:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "473:43:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "470:63:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "453:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "417:122:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "597:87:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "607:29:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "629:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "616:12:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "616:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "607:5:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "672:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "645:26:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "645:33:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "645:33:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "575:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "583:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "591:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "545:139:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "756:263:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "802:83:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "804:77:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "804:79:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "804:79:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "777:7:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "786:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "773:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "773:23:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "798:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "769:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "769:32:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "766:119:3"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "895:117:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "910:15:3",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "924:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "914:6:3",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "939:63:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "974:9:3"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "985:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "970:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "970:22:3"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "994:7:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "949:20:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "949:53:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "939:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "726:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "737:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "749:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "690:329:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1070:81:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1080:65:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1095:5:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1102:42:3",
|
|
"type": "",
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffff"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "and",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1091:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1091:54:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1080:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint160",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1052:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1062:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1025:126:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1202:51:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1212:35:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1241:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint160",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1223:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1223:24:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1212:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1184:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1194:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1157:96:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1324:53:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1341:3:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1364:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1346:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1346:24:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1334:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1334:37:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1334:37:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_address_to_t_address_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1312:5:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1319:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1259:118:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1481:124:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1491:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1503:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1514:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1499:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1499:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1491:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1571:6:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1584:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1595:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1580:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1580:17:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_address_to_t_address_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1527:43:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1527:71:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1527:71:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1453:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1465:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1476:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1383:222:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1681:32:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1691:16:3",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1702:5:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1691:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_rational_500000000000000000_by_1",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1663:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1673:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1611:102:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1751:28:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1761:12:3",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1768:5:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1761:3:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "identity",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1737:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1747:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1719:60:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1870:107:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1880:91:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1963:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_rational_500000000000000000_by_1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1920:42:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1920:49:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "identity",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1911:8:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1911:59:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1893:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1893:78:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "converted",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1880:9:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "convert_t_rational_500000000000000000_by_1_to_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1850:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "converted",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1860:9:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1785:192:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2073:91:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2090:3:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2151:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "convert_t_rational_500000000000000000_by_1_to_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2095:55:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2095:62:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2083:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2083:75:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2083:75:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_rational_500000000000000000_by_1_to_t_uint256_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2061:5:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2068:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1983:181:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2293:149:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2303:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2315:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2326:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2311:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2311:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2303:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2408:6:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2421:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2432:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2417:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2417:17:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_rational_500000000000000000_by_1_to_t_uint256_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2339:68:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2339:96:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2339:96:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_rational_500000000000000000_by_1__to_t_uint256__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2265:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2277:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2288:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2170:272:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2544:73:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2561:3:3"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2566:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2554:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2554:19:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2554:19:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2582:29:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2601:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2606:4:3",
|
|
"type": "",
|
|
"value": "0x20"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2597:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2597:14:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2582:11:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2516:3:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "length",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2521:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "updated_pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2532:11:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2448:169:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2729:128:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2751:6:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2759:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2747:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2747:14:3"
|
|
},
|
|
{
|
|
"hexValue": "596f75207265717565737420616d6f756e742063616e6e6f7420626967676572",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2763:34:3",
|
|
"type": "",
|
|
"value": "You request amount cannot bigger"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2740:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2740:58:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2740:58:3"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2819:6:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2827:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2815:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2815:15:3"
|
|
},
|
|
{
|
|
"hexValue": "207468616e20302e31206574686572",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2832:17:3",
|
|
"type": "",
|
|
"value": " than 0.1 ether"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2808:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2808:42:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2808:42:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2721:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2623:234:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3009:220:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3019:74:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3085:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3090:2:3",
|
|
"type": "",
|
|
"value": "47"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3026:58:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3026:67:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3019:3:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3191:3:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3102:88:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3102:93:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3102:93:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3204:19:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3215:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3220:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3211:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3211:12:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3204:3:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2997:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3005:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2863:366:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3406:248:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3416:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3428:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3439:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3424:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3424:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3416:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3463:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3474:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3459:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3459:17:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3482:4:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3488:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3478:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3478:20:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3452:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3452:47:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3452:47:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3508:139:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3642:4:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3516:124:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3516:131:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3508:4:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3386:9:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3401:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3235:419:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3766:125:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3788:6:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3796:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3784:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3784:14:3"
|
|
},
|
|
{
|
|
"hexValue": "546869732041544d20646f65736e2774206861766520656e6f75676820455448",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3800:34:3",
|
|
"type": "",
|
|
"value": "This ATM doesn't have enough ETH"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3777:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3777:58:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3777:58:3"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3856:6:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3864:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3852:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3852:15:3"
|
|
},
|
|
{
|
|
"hexValue": "20746f207769746864726177",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3869:14:3",
|
|
"type": "",
|
|
"value": " to withdraw"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3845:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3845:39:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3845:39:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3758:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3660:231:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4043:220:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4053:74:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4119:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4124:2:3",
|
|
"type": "",
|
|
"value": "44"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4060:58:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4060:67:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4053:3:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4225:3:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4136:88:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4136:93:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4136:93:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4238:19:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4249:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4254:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4245:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4245:12:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4238:3:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4031:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4039:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3897:366:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4440:248:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4450:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4462:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4473:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4458:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4458:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4450:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4497:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4508:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4493:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4493:17:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4516:4:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4522:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4512:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4512:20:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4486:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4486:47:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4486:47:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4542:139:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4676:4:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4550:124:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4550:131:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4542:4:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4420:9:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4435:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4269:419:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4800:120:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4822:6:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4830:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4818:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4818:14:3"
|
|
},
|
|
{
|
|
"hexValue": "546869732066756e6374696f6e206f6e6c7920746865206f776e65722063616e",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4834:34:3",
|
|
"type": "",
|
|
"value": "This function only the owner can"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4811:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4811:58:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4811:58:3"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4890:6:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4898:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4886:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4886:15:3"
|
|
},
|
|
{
|
|
"hexValue": "20616363657373",
|
|
"kind": "string",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4903:9:3",
|
|
"type": "",
|
|
"value": " access"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4879:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4879:34:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4879:34:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "store_literal_in_memory_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "memPtr",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4792:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4694:226:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5072:220:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5082:74:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5148:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5153:2:3",
|
|
"type": "",
|
|
"value": "39"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5089:58:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5089:67:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5082:3:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5254:3:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "store_literal_in_memory_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5165:88:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5165:93:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5165:93:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5267:19:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5278:3:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5283:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5274:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5274:12:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5267:3:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5060:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5068:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4926:366:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "5469:248:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5479:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5491:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5502:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5487:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5487:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5479:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5526:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "5537:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5522:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5522:17:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5545:4:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5551:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5541:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5541:20:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5515:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5515:47:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "5515:47:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "5571:139:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5705:4:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002_to_t_string_memory_ptr_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5579:124:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "5579:131:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "5571:4:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_stringliteral_f481286fd7e35fb08a942fbbdf386ddc72236b2a397440207a7e669288de8002__to_t_string_memory_ptr__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5449:9:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "5464:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "5298:419:3"
|
|
}
|
|
]
|
|
},
|
|
"contents": "{\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 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_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 cleanup_t_rational_500000000000000000_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_500000000000000000_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_500000000000000000_by_1(value)))\n }\n\n function abi_encode_t_rational_500000000000000000_by_1_to_t_uint256_fromStack(value, pos) {\n mstore(pos, convert_t_rational_500000000000000000_by_1_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_rational_500000000000000000_by_1__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_rational_500000000000000000_by_1_to_t_uint256_fromStack(value0, add(headStart, 0))\n\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_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0(memPtr) {\n\n mstore(add(memPtr, 0), \"You request amount cannot bigger\")\n\n mstore(add(memPtr, 32), \" than 0.1 ether\")\n\n }\n\n function abi_encode_t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0__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_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e(memPtr) {\n\n mstore(add(memPtr, 0), \"This ATM doesn't have enough ETH\")\n\n mstore(add(memPtr, 32), \" to withdraw\")\n\n }\n\n function abi_encode_t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e__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_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e_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": "117:447:0:-:0;;;160:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;141:10:2;133:5;;:18;;;;;;;;;;;;;;;;;;215:9:0;195:4;;:31;;;;;;;;;;;;;;;;;;160:70;117:447;;88:117:3;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;117:447:0:-;;;;;;;",
|
|
"deployedSourceMap": "117:447:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;233:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;267:89:2;;;;;;;;;;;;;:::i;:::-;;91:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;233:329:0;303:9;278:21;:34;275:73;;319:4;;;;;;;;;;;:13;;;333:9;319:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;275:73;367:9;359:6;:17;;351:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;448:21;440:6;:29;;432:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;530:10;522:28;;:36;551:6;522:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;233:329;:::o;267:89:2:-;206:5;;;;;;;;;;192:19;;:10;:19;;;184:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;314:5:::1;::::0;::::1;;;;;;;;306:23;;:46;330:21;306:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;267:89::o:0;91:20::-;;;;;;;;;;;;:::o;88:117:3:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:102::-;1673:7;1702:5;1691:16;;1611:102;;;:::o;1719:60::-;1747:3;1768:5;1761:12;;1719:60;;;:::o;1785:192::-;1860:9;1893:78;1911:59;1920:49;1963:5;1920:49;:::i;:::-;1911:59;:::i;:::-;1893:78;:::i;:::-;1880:91;;1785:192;;;:::o;1983:181::-;2095:62;2151:5;2095:62;:::i;:::-;2090:3;2083:75;1983:181;;:::o;2170:272::-;2288:4;2326:2;2315:9;2311:18;2303:26;;2339:96;2432:1;2421:9;2417:17;2408:6;2339:96;:::i;:::-;2170:272;;;;:::o;2448:169::-;2532:11;2566:6;2561:3;2554:19;2606:4;2601:3;2597:14;2582:29;;2448:169;;;;:::o;2623:234::-;2763:34;2759:1;2751:6;2747:14;2740:58;2832:17;2827:2;2819:6;2815:15;2808:42;2623:234;:::o;2863:366::-;3005:3;3026:67;3090:2;3085:3;3026:67;:::i;:::-;3019:74;;3102:93;3191:3;3102:93;:::i;:::-;3220:2;3215:3;3211:12;3204:19;;2863:366;;;:::o;3235:419::-;3401:4;3439:2;3428:9;3424:18;3416:26;;3488:9;3482:4;3478:20;3474:1;3463:9;3459:17;3452:47;3516:131;3642:4;3516:131;:::i;:::-;3508:139;;3235:419;;;:::o;3660:231::-;3800:34;3796:1;3788:6;3784:14;3777:58;3869:14;3864:2;3856:6;3852:15;3845:39;3660:231;:::o;3897:366::-;4039:3;4060:67;4124:2;4119:3;4060:67;:::i;:::-;4053:74;;4136:93;4225:3;4136:93;:::i;:::-;4254:2;4249:3;4245:12;4238:19;;3897:366;;;:::o;4269:419::-;4435:4;4473:2;4462:9;4458:18;4450:26;;4522:9;4516:4;4512:20;4508:1;4497:9;4493:17;4486:47;4550:131;4676:4;4550:131;:::i;:::-;4542:139;;4269:419;;;:::o;4694:226::-;4834:34;4830:1;4822:6;4818:14;4811:58;4903:9;4898:2;4890:6;4886:15;4879:34;4694:226;:::o;4926:366::-;5068:3;5089:67;5153:2;5148:3;5089:67;:::i;:::-;5082:74;;5165:93;5254:3;5165:93;:::i;:::-;5283:2;5278:3;5274:12;5267:19;;4926:366;;;:::o;5298:419::-;5464:4;5502:2;5491:9;5487:18;5479:26;;5551:9;5545:4;5541:20;5537:1;5526:9;5522:17;5515:47;5579:131;5705:4;5579:131;:::i;:::-;5571:139;;5298:419;;;:::o",
|
|
"source": "// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport \"./BaseContract.sol\";\nimport \"./Bank.sol\";\n\ncontract ATM is BaseContract{\n\tBank bank;\n\tconstructor(address bank_addr) {\n\t\tbank = Bank(payable(bank_addr));\n\t}\n\n\tfunction withdraw(uint amount) public {\n\t\tif(address(this).balance <= 0.1 ether) {\n\t\t\tbank.withdraw(0.5 ether);\n\t\t}\n\t\trequire(amount<=0.1 ether, \"You request amount cannot bigger than 0.1 ether\");\n\t\trequire(amount<=address(this).balance, \"This ATM doesn't have enough ETH to withdraw\");\n\t\tpayable(msg.sender).transfer(amount);\n\t}\n}\n",
|
|
"sourcePath": "/home/snsd0805/code/1112_blockchain/HW2_Advanced_Faucet/contracts/ATM.sol",
|
|
"ast": {
|
|
"absolutePath": "project:/contracts/ATM.sol",
|
|
"exportedSymbols": {
|
|
"ATM": [
|
|
72
|
|
],
|
|
"Bank": [
|
|
166
|
|
],
|
|
"BaseContract": [
|
|
214
|
|
]
|
|
},
|
|
"id": 73,
|
|
"license": "MIT",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 1,
|
|
"literals": [
|
|
"solidity",
|
|
">=",
|
|
"0.4",
|
|
".22",
|
|
"<",
|
|
"0.9",
|
|
".0"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "32:32:0"
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/BaseContract.sol",
|
|
"file": "./BaseContract.sol",
|
|
"id": 2,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 73,
|
|
"sourceUnit": 215,
|
|
"src": "66:28:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/Bank.sol",
|
|
"file": "./Bank.sol",
|
|
"id": 3,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 73,
|
|
"sourceUnit": 167,
|
|
"src": "95:20:0",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 4,
|
|
"name": "BaseContract",
|
|
"nameLocations": [
|
|
"133:12:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 214,
|
|
"src": "133:12:0"
|
|
},
|
|
"id": 5,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "133:12:0"
|
|
}
|
|
],
|
|
"canonicalName": "ATM",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"id": 72,
|
|
"linearizedBaseContracts": [
|
|
72,
|
|
214
|
|
],
|
|
"name": "ATM",
|
|
"nameLocation": "126:3:0",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": false,
|
|
"id": 8,
|
|
"mutability": "mutable",
|
|
"name": "bank",
|
|
"nameLocation": "153:4:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 72,
|
|
"src": "148:9:0",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Bank_$166",
|
|
"typeString": "contract Bank"
|
|
},
|
|
"typeName": {
|
|
"id": 7,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 6,
|
|
"name": "Bank",
|
|
"nameLocations": [
|
|
"148:4:0"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 166,
|
|
"src": "148:4:0"
|
|
},
|
|
"referencedDeclaration": 166,
|
|
"src": "148:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Bank_$166",
|
|
"typeString": "contract Bank"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 22,
|
|
"nodeType": "Block",
|
|
"src": "191:39:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 20,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 13,
|
|
"name": "bank",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 8,
|
|
"src": "195:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Bank_$166",
|
|
"typeString": "contract Bank"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 17,
|
|
"name": "bank_addr",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 10,
|
|
"src": "215:9:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 16,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "207:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_payable_$",
|
|
"typeString": "type(address payable)"
|
|
},
|
|
"typeName": {
|
|
"id": 15,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "207:8:0",
|
|
"stateMutability": "payable",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 18,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "207:18:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
],
|
|
"id": 14,
|
|
"name": "Bank",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 166,
|
|
"src": "202:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_Bank_$166_$",
|
|
"typeString": "type(contract Bank)"
|
|
}
|
|
},
|
|
"id": 19,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "202:24:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Bank_$166",
|
|
"typeString": "contract Bank"
|
|
}
|
|
},
|
|
"src": "195:31:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Bank_$166",
|
|
"typeString": "contract Bank"
|
|
}
|
|
},
|
|
"id": 21,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "195:31:0"
|
|
}
|
|
]
|
|
},
|
|
"id": 23,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 11,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 10,
|
|
"mutability": "mutable",
|
|
"name": "bank_addr",
|
|
"nameLocation": "180:9:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 23,
|
|
"src": "172:17:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 9,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "172:7:0",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "171:19:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 12,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "191:0:0"
|
|
},
|
|
"scope": 72,
|
|
"src": "160:70:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 70,
|
|
"nodeType": "Block",
|
|
"src": "271:291:0",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 34,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 30,
|
|
"name": "this",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967268,
|
|
"src": "286:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ATM_$72",
|
|
"typeString": "contract ATM"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_ATM_$72",
|
|
"typeString": "contract ATM"
|
|
}
|
|
],
|
|
"id": 29,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "278:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 28,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "278:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 31,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "278:13:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 32,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "292:7:0",
|
|
"memberName": "balance",
|
|
"nodeType": "MemberAccess",
|
|
"src": "278:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"hexValue": "302e31",
|
|
"id": 33,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "303:9:0",
|
|
"subdenomination": "ether",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_100000000000000000_by_1",
|
|
"typeString": "int_const 100000000000000000"
|
|
},
|
|
"value": "0.1"
|
|
},
|
|
"src": "278:34:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 42,
|
|
"nodeType": "IfStatement",
|
|
"src": "275:73:0",
|
|
"trueBody": {
|
|
"id": 41,
|
|
"nodeType": "Block",
|
|
"src": "314:34:0",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "302e35",
|
|
"id": 38,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "333:9:0",
|
|
"subdenomination": "ether",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_500000000000000000_by_1",
|
|
"typeString": "int_const 500000000000000000"
|
|
},
|
|
"value": "0.5"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_500000000000000000_by_1",
|
|
"typeString": "int_const 500000000000000000"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 35,
|
|
"name": "bank",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 8,
|
|
"src": "319:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Bank_$166",
|
|
"typeString": "contract Bank"
|
|
}
|
|
},
|
|
"id": 37,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "324:8:0",
|
|
"memberName": "withdraw",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 165,
|
|
"src": "319:13:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256) external"
|
|
}
|
|
},
|
|
"id": 39,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "319:24:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 40,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "319:24:0"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 46,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 44,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 25,
|
|
"src": "359:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"hexValue": "302e31",
|
|
"id": 45,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "367:9:0",
|
|
"subdenomination": "ether",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_100000000000000000_by_1",
|
|
"typeString": "int_const 100000000000000000"
|
|
},
|
|
"value": "0.1"
|
|
},
|
|
"src": "359:17:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "596f75207265717565737420616d6f756e742063616e6e6f7420626967676572207468616e20302e31206574686572",
|
|
"id": 47,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "378:49:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0",
|
|
"typeString": "literal_string \"You request amount cannot bigger than 0.1 ether\""
|
|
},
|
|
"value": "You request amount cannot bigger than 0.1 ether"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_88aa1d38043ad612a5bd3cf6af90a5a4173bf63e5e2d2acf062571b31d7562d0",
|
|
"typeString": "literal_string \"You request amount cannot bigger than 0.1 ether\""
|
|
}
|
|
],
|
|
"id": 43,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "351:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 48,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "351:77:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 49,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "351:77:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 57,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 51,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 25,
|
|
"src": "440:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 54,
|
|
"name": "this",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967268,
|
|
"src": "456:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_ATM_$72",
|
|
"typeString": "contract ATM"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_ATM_$72",
|
|
"typeString": "contract ATM"
|
|
}
|
|
],
|
|
"id": 53,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "448:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 52,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "448:7:0",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 55,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "448:13:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"id": 56,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "462:7:0",
|
|
"memberName": "balance",
|
|
"nodeType": "MemberAccess",
|
|
"src": "448:21:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "440:29:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "546869732041544d20646f65736e2774206861766520656e6f7567682045544820746f207769746864726177",
|
|
"id": 58,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "471:46:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e",
|
|
"typeString": "literal_string \"This ATM doesn't have enough ETH to withdraw\""
|
|
},
|
|
"value": "This ATM doesn't have enough ETH to withdraw"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_951c6c204a160ed91974382975e9f63d26a9475fc11185703124d836e6656a3e",
|
|
"typeString": "literal_string \"This ATM doesn't have enough ETH to withdraw\""
|
|
}
|
|
],
|
|
"id": 50,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
4294967278,
|
|
4294967278
|
|
],
|
|
"referencedDeclaration": 4294967278,
|
|
"src": "432:7:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 59,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "432:86:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 60,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "432:86:0"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 67,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 25,
|
|
"src": "551:6:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"id": 63,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967281,
|
|
"src": "530:3:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 64,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "534:6:0",
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"src": "530:10:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 62,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "522:8:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_payable_$",
|
|
"typeString": "type(address payable)"
|
|
},
|
|
"typeName": {
|
|
"id": 61,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "522:8:0",
|
|
"stateMutability": "payable",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 65,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "522:19:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"id": 66,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "542:8:0",
|
|
"memberName": "transfer",
|
|
"nodeType": "MemberAccess",
|
|
"src": "522:28:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
|
|
"typeString": "function (uint256)"
|
|
}
|
|
},
|
|
"id": 68,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "522:36:0",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 69,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "522:36:0"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "2e1a7d4d",
|
|
"id": 71,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "withdraw",
|
|
"nameLocation": "242:8:0",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 26,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 25,
|
|
"mutability": "mutable",
|
|
"name": "amount",
|
|
"nameLocation": "256:6:0",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 71,
|
|
"src": "251:11:0",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 24,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "251:4:0",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "250:13:0"
|
|
},
|
|
"returnParameters": {
|
|
"id": 27,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "271:0:0"
|
|
},
|
|
"scope": 72,
|
|
"src": "233:329:0",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 73,
|
|
"src": "117:447:0",
|
|
"usedErrors": []
|
|
}
|
|
],
|
|
"src": "32:533:0"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.8.19+commit.7dd6d404.Emscripten.clang"
|
|
},
|
|
"networks": {
|
|
"5777": {
|
|
"events": {},
|
|
"links": {},
|
|
"address": "0xb0bAd9C307436e37073bEC8a845Eb121c94491D5",
|
|
"transactionHash": "0x8e9cd18dba4189113682aa7571e9b02757ee9bcd693be9a76cb16bc98b4c8344"
|
|
},
|
|
"11155111": {
|
|
"events": {},
|
|
"links": {},
|
|
"address": "0x7ed82F1851960a0c2d2BA689c056616e2472Ddce",
|
|
"transactionHash": "0x6e839bcbf67572b740b6b4136ad56e076adc3c9b5a6fbaace0297d6e226003b6"
|
|
}
|
|
},
|
|
"schemaVersion": "3.4.13",
|
|
"updatedAt": "2023-03-29T08:50:14.693Z",
|
|
"networkType": "ethereum",
|
|
"devdoc": {
|
|
"kind": "dev",
|
|
"methods": {},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
} |