3919 lines
152 KiB
JSON
3919 lines
152 KiB
JSON
{
|
|
"contractName": "MetaCoin",
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "_from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "_to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "_value",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "Transfer",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "sendCoin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "sufficient",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "addr",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getBalanceInEth",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "addr",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getBalance",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalanceInEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sendCoin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sufficient\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/MetaCoin.sol\":\"MetaCoin\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/ConvertLib.sol\":{\"keccak256\":\"0x3ee33e6e8cf55bad996568ba3cd311ac174c8b4fd9fd51cd6aabf6000d5c9643\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de003f417b98896601d7f63ab7cee95f38f237af4d56712019221644954a7509\",\"dweb:/ipfs/QmQb7FVshbroABJCpCsn6hf2gu7nqUdXvFHkWNwjRSVwkm\"]},\"project:/contracts/MetaCoin.sol\":{\"keccak256\":\"0xdbe28f9b62da2b85710c1895194f53c4989bbf85f0597e704e501dfc6d8aa74c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87ef8112316f5c79f56afbd86f71351208ecbe887bb6fa7af42dd405c9fa8439\",\"dweb:/ipfs/QmVv81q3LLoG1HgUKzi2bUpgmWQmTqJea67hzFGiBXXRD5\"]}},\"version\":1}",
|
|
"bytecode": "0x608060405234801561001057600080fd5b506127106000803273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610629806100656000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80637bd703e81461004657806390b98a1114610076578063f8b2cb4f146100a6575b600080fd5b610060600480360381019061005b9190610378565b6100d6565b60405161006d91906103be565b60405180910390f35b610090600480360381019061008b9190610405565b610162565b60405161009d9190610460565b60405180910390f35b6100c060048036038101906100bb9190610378565b6102cd565b6040516100cd91906103be565b60405180910390f35b600073__ConvertLib____________________________6396e4ee3d6100fb846102cd565b60026040518363ffffffff1660e01b815260040161011a9291906104cf565b602060405180830381865af4158015610137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015b919061050d565b9050919050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156101b357600090506102c7565b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546102019190610569565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610256919061059d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516102ba91906103be565b60405180910390a3600190505b92915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103458261031a565b9050919050565b6103558161033a565b811461036057600080fd5b50565b6000813590506103728161034c565b92915050565b60006020828403121561038e5761038d610315565b5b600061039c84828501610363565b91505092915050565b6000819050919050565b6103b8816103a5565b82525050565b60006020820190506103d360008301846103af565b92915050565b6103e2816103a5565b81146103ed57600080fd5b50565b6000813590506103ff816103d9565b92915050565b6000806040838503121561041c5761041b610315565b5b600061042a85828601610363565b925050602061043b858286016103f0565b9150509250929050565b60008115159050919050565b61045a81610445565b82525050565b60006020820190506104756000830184610451565b92915050565b610484816103a5565b82525050565b6000819050919050565b6000819050919050565b60006104b96104b46104af8461048a565b610494565b6103a5565b9050919050565b6104c98161049e565b82525050565b60006040820190506104e4600083018561047b565b6104f160208301846104c0565b9392505050565b600081519050610507816103d9565b92915050565b60006020828403121561052357610522610315565b5b6000610531848285016104f8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610574826103a5565b915061057f836103a5565b9250828210156105925761059161053a565b5b828203905092915050565b60006105a8826103a5565b91506105b3836103a5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156105e8576105e761053a565b5b82820190509291505056fea2646970667358221220f7d78b8ecd0e2883ff83d21d5a300205374dac173bc969466a9a8c8432e5c17364736f6c634300080d0033",
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80637bd703e81461004657806390b98a1114610076578063f8b2cb4f146100a6575b600080fd5b610060600480360381019061005b9190610378565b6100d6565b60405161006d91906103be565b60405180910390f35b610090600480360381019061008b9190610405565b610162565b60405161009d9190610460565b60405180910390f35b6100c060048036038101906100bb9190610378565b6102cd565b6040516100cd91906103be565b60405180910390f35b600073__ConvertLib____________________________6396e4ee3d6100fb846102cd565b60026040518363ffffffff1660e01b815260040161011a9291906104cf565b602060405180830381865af4158015610137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015b919061050d565b9050919050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156101b357600090506102c7565b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546102019190610569565b92505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610256919061059d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516102ba91906103be565b60405180910390a3600190505b92915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103458261031a565b9050919050565b6103558161033a565b811461036057600080fd5b50565b6000813590506103728161034c565b92915050565b60006020828403121561038e5761038d610315565b5b600061039c84828501610363565b91505092915050565b6000819050919050565b6103b8816103a5565b82525050565b60006020820190506103d360008301846103af565b92915050565b6103e2816103a5565b81146103ed57600080fd5b50565b6000813590506103ff816103d9565b92915050565b6000806040838503121561041c5761041b610315565b5b600061042a85828601610363565b925050602061043b858286016103f0565b9150509250929050565b60008115159050919050565b61045a81610445565b82525050565b60006020820190506104756000830184610451565b92915050565b610484816103a5565b82525050565b6000819050919050565b6000819050919050565b60006104b96104b46104af8461048a565b610494565b6103a5565b9050919050565b6104c98161049e565b82525050565b60006040820190506104e4600083018561047b565b6104f160208301846104c0565b9392505050565b600081519050610507816103d9565b92915050565b60006020828403121561052357610522610315565b5b6000610531848285016104f8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610574826103a5565b915061057f836103a5565b9250828210156105925761059161053a565b5b828203905092915050565b60006105a8826103a5565b91506105b3836103a5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156105e8576105e761053a565b5b82820190509291505056fea2646970667358221220f7d78b8ecd0e2883ff83d21d5a300205374dac173bc969466a9a8c8432e5c17364736f6c634300080d0033",
|
|
"immutableReferences": {},
|
|
"generatedSources": [],
|
|
"deployedGeneratedSources": [
|
|
{
|
|
"ast": {
|
|
"nodeType": "YulBlock",
|
|
"src": "0:4980: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": "748:87:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "758:29:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "780:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "767:12:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "767:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "758:5:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "823:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "796:26:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "796:33:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "796:33:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "726:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "734:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "742:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "696:139:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "907:263:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "953:83:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "955:77:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "955:79:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "955:79:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "928:7:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "937:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "924:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "924:23:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "949:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "920:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "920:32:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "917:119:3"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "1046:117:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "1061:15:3",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1075:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1065:6:3",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1090:63:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1125:9:3"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1136:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1121:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1121:22:3"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1145:7:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1100:20:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1100:53:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1090:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_address",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "877:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "888:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "900:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "841:329:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1221:32:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1231:16:3",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1242:5:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1231:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1203:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1213:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1176:77: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_uint256",
|
|
"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_uint256_to_t_uint256_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_uint256_to_t_uint256_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1527:43:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1527:71:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1527:71:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_uint256__to_t_uint256__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": "1654:79:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1711:16:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1720:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "1723:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1713:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1713:12:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1713:12:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1677:5:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1702:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1684:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1684:24:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "eq",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1674:2:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1674:35:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1667:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1667:43:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "1664:63:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1647:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1611:122:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1791:87:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "1801:29:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1823:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "calldataload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1810:12:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1810:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1801:5:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1866:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1839:26:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1839:33:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "1839:33:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1769:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1777:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1785:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1739:139:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "1967:391:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2013:83:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2015:77:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2015:79:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2015:79:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1988:7:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1997:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1984:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1984:23:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2009:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "1980:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "1980:32:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "1977:119:3"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "2106:117:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "2121:15:3",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2135:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2125:6:3",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2150:63:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2185:9:3"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2196:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2181:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2181:22:3"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2205:7:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_address",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2160:20:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2160:53:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2150:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "2233:118:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "2248:16:3",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2262:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2252:6:3",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2278:63:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2313:9:3"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2324:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2309:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2309:22:3"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2333:7:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2288:20:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2288:53:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2278:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_addresst_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1929:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1940:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1952:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "1960:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "1884:474:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2406:48:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2416:32:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2441:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2434:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2434:13:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "iszero",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2427:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2427:21:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2416:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_bool",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2388:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2398:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2364:90:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2519:50:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2536:3:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2556:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_bool",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2541:14:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2541:21:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2529:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2529:34:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2529:34:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_bool_to_t_bool_fromStack",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2507:5:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2514:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2460:109:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2667:118:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2677:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2689:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2700:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2685:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2685:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2677:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2751:6:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2764:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "2775:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2760:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2760:17:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_bool_to_t_bool_fromStack",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2713:37:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2713:65:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2713:65:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2639:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2651:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2662:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2575:210:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2864:53:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2881:3:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2904:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2886:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2886:24:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2874:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "2874:37:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "2874:37:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2852:5:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2859:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2791:126:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "2976:32:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "2986:16:3",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2997:5:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "2986:7:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "cleanup_t_rational_2_by_1",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2958:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "cleaned",
|
|
"nodeType": "YulTypedName",
|
|
"src": "2968:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "2923:85:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3046:28:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3056:12:3",
|
|
"value": {
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3063:5:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3056:3:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "identity",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3032:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "ret",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3042:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3014:60:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3148:90:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3158:74:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3224:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_rational_2_by_1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3198:25:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3198:32:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "identity",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3189:8:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3189:42:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3171:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3171:61:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "converted",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3158:9:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "convert_t_rational_2_by_1_to_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3128:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "converted",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3138:9:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3080:158:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3325:74:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3342:3:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3386:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "convert_t_rational_2_by_1_to_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3347:38:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3347:45:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3335:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3335:58:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3335:58:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_t_rational_2_by_1_to_t_uint256_fromStack_library",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3313:5:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "pos",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3320:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3244:155:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3547:230:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3557:26:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3569:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3580:2:3",
|
|
"type": "",
|
|
"value": "64"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3565:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3565:18:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3557:4:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3645:6:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3658:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3669:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3654:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3654:17:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_uint256_to_t_uint256_fromStack_library",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3593:51:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3593:79:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3593:79:3"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3742:6:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3755:9:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "3766:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3751:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3751:18:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_encode_t_rational_2_by_1_to_t_uint256_fromStack_library",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3682:59:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3682:88:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3682:88:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_encode_tuple_t_uint256_t_rational_2_by_1__to_t_uint256_t_uint256__fromStack_library_reversed",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3511:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3523:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3531:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "tail",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3542:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3405:372:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "3846:80:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "3856:22:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3871:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mload",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3865:5:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3865:13:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3856:5:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3914:5:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "validator_revert_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "3887:26:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "3887:33:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "3887:33:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_t_uint256_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3824:6:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "end",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3832:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3840:5:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3783:143:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4009:274:3",
|
|
"statements": [
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4055:83:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4057:77:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4057:79:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4057:79:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4030:7:3"
|
|
},
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4039:9:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4026:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4026:23:3"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4051:2:3",
|
|
"type": "",
|
|
"value": "32"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "slt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4022:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4022:32:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "4019:119:3"
|
|
},
|
|
{
|
|
"nodeType": "YulBlock",
|
|
"src": "4148:128:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "4163:15:3",
|
|
"value": {
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4177:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4167:6:3",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4192:74:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4238:9:3"
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4249:6:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4234:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4234:22:3"
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4258:7:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "abi_decode_t_uint256_fromMemory",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4202:31:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4202:64:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4192:6:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "abi_decode_tuple_t_uint256_fromMemory",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "headStart",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3979:9:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "dataEnd",
|
|
"nodeType": "YulTypedName",
|
|
"src": "3990:7:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "value0",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4002:6:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "3932:351:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4317:152:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4334:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4337:77:3",
|
|
"type": "",
|
|
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4327:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4327:88:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4327:88:3"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4431:1:3",
|
|
"type": "",
|
|
"value": "4"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4434:4:3",
|
|
"type": "",
|
|
"value": "0x11"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "mstore",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4424:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4424:15:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4424:15:3"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4455:1:3",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4458:4:3",
|
|
"type": "",
|
|
"value": "0x24"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "revert",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4448:6:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4448:15:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4448:15:3"
|
|
}
|
|
]
|
|
},
|
|
"name": "panic_error_0x11",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"src": "4289:180:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4520:146:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4530:25:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4553:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4535:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4535:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4530:1:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4564:25:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4587:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4569:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4569:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4564:1:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4611:22:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x11",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4613:16:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4613:18:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4613:18:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4605:1:3"
|
|
},
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4608:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "lt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4602:2:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4602:8:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "4599:34:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4643:17:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4655:1:3"
|
|
},
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4658:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4651:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4651:9:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "diff",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4643:4:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "checked_sub_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4506:1:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4509:1:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "diff",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4515:4:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4475:191:3"
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4716:261:3",
|
|
"statements": [
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4726:25:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4749:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4731:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4731:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4726:1:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4760:25:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4783:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "cleanup_t_uint256",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4765:17:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4765:20:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4760:1:3"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"body": {
|
|
"nodeType": "YulBlock",
|
|
"src": "4923:22:3",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"functionName": {
|
|
"name": "panic_error_0x11",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4925:16:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4925:18:3"
|
|
},
|
|
"nodeType": "YulExpressionStatement",
|
|
"src": "4925:18:3"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"arguments": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4844:1:3"
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"kind": "number",
|
|
"nodeType": "YulLiteral",
|
|
"src": "4851:66:3",
|
|
"type": "",
|
|
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
},
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4919:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "sub",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4847:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4847:74:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "gt",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4841:2:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4841:81:3"
|
|
},
|
|
"nodeType": "YulIf",
|
|
"src": "4838:107:3"
|
|
},
|
|
{
|
|
"nodeType": "YulAssignment",
|
|
"src": "4955:16:3",
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4966:1:3"
|
|
},
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4969:1:3"
|
|
}
|
|
],
|
|
"functionName": {
|
|
"name": "add",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4962:3:3"
|
|
},
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "4962:9:3"
|
|
},
|
|
"variableNames": [
|
|
{
|
|
"name": "sum",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "4955:3:3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"name": "checked_add_t_uint256",
|
|
"nodeType": "YulFunctionDefinition",
|
|
"parameters": [
|
|
{
|
|
"name": "x",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4703:1:3",
|
|
"type": ""
|
|
},
|
|
{
|
|
"name": "y",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4706:1:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"returnVariables": [
|
|
{
|
|
"name": "sum",
|
|
"nodeType": "YulTypedName",
|
|
"src": "4712:3:3",
|
|
"type": ""
|
|
}
|
|
],
|
|
"src": "4672:305: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(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\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_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function cleanup_t_rational_2_by_1(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_rational_2_by_1_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_rational_2_by_1(value)))\n }\n\n function abi_encode_t_rational_2_by_1_to_t_uint256_fromStack_library(value, pos) {\n mstore(pos, convert_t_rational_2_by_1_to_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256_t_rational_2_by_1__to_t_uint256_t_uint256__fromStack_library_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack_library(value0, add(headStart, 0))\n\n abi_encode_t_rational_2_by_1_to_t_uint256_fromStack_library(value1, add(headStart, 32))\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_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_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n}\n",
|
|
"id": 3,
|
|
"language": "Yul",
|
|
"name": "#utility.yul"
|
|
}
|
|
],
|
|
"sourceMap": "310:667:2:-:0;;;447:49;;;;;;;;;;487:5;465:8;:19;474:9;465:19;;;;;;;;;;;;;;;:27;;;;310:667;;;;;;",
|
|
"deployedSourceMap": "310:667:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;499:264;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;886:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;766:117;825:4;841:10;:18;860:16;871:4;860:10;:16::i;:::-;877:1;841:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;834:45;;766:117;;;:::o;499:264::-;563:15;611:6;588:8;:20;597:10;588:20;;;;;;;;;;;;;;;;:29;584:47;;;626:5;619:12;;;;584:47;659:6;635:8;:20;644:10;635:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;691:6;669:8;:18;678:8;669:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;727:8;706:38;;715:10;706:38;;;737:6;706:38;;;;;;:::i;:::-;;;;;;;;755:4;748:11;;499:264;;;;;:::o;886:89::-;940:4;957:8;:14;966:4;957:14;;;;;;;;;;;;;;;;950:21;;886:89;;;:::o;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:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::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:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:474::-;1952:6;1960;2009:2;1997:9;1988:7;1984:23;1980:32;1977:119;;;2015:79;;:::i;:::-;1977:119;2135:1;2160:53;2205:7;2196:6;2185:9;2181:22;2160:53;:::i;:::-;2150:63;;2106:117;2262:2;2288:53;2333:7;2324:6;2313:9;2309:22;2288:53;:::i;:::-;2278:63;;2233:118;1884:474;;;;;:::o;2364:90::-;2398:7;2441:5;2434:13;2427:21;2416:32;;2364:90;;;:::o;2460:109::-;2541:21;2556:5;2541:21;:::i;:::-;2536:3;2529:34;2460:109;;:::o;2575:210::-;2662:4;2700:2;2689:9;2685:18;2677:26;;2713:65;2775:1;2764:9;2760:17;2751:6;2713:65;:::i;:::-;2575:210;;;;:::o;2791:126::-;2886:24;2904:5;2886:24;:::i;:::-;2881:3;2874:37;2791:126;;:::o;2923:85::-;2968:7;2997:5;2986:16;;2923:85;;;:::o;3014:60::-;3042:3;3063:5;3056:12;;3014:60;;;:::o;3080:158::-;3138:9;3171:61;3189:42;3198:32;3224:5;3198:32;:::i;:::-;3189:42;:::i;:::-;3171:61;:::i;:::-;3158:74;;3080:158;;;:::o;3244:155::-;3347:45;3386:5;3347:45;:::i;:::-;3342:3;3335:58;3244:155;;:::o;3405:372::-;3542:4;3580:2;3569:9;3565:18;3557:26;;3593:79;3669:1;3658:9;3654:17;3645:6;3593:79;:::i;:::-;3682:88;3766:2;3755:9;3751:18;3742:6;3682:88;:::i;:::-;3405:372;;;;;:::o;3783:143::-;3840:5;3871:6;3865:13;3856:22;;3887:33;3914:5;3887:33;:::i;:::-;3783:143;;;;:::o;3932:351::-;4002:6;4051:2;4039:9;4030:7;4026:23;4022:32;4019:119;;;4057:79;;:::i;:::-;4019:119;4177:1;4202:64;4258:7;4249:6;4238:9;4234:22;4202:64;:::i;:::-;4192:74;;4148:128;3932:351;;;;:::o;4289:180::-;4337:77;4334:1;4327:88;4434:4;4431:1;4424:15;4458:4;4455:1;4448:15;4475:191;4515:4;4535:20;4553:1;4535:20;:::i;:::-;4530:25;;4569:20;4587:1;4569:20;:::i;:::-;4564:25;;4608:1;4605;4602:8;4599:34;;;4613:18;;:::i;:::-;4599:34;4658:1;4655;4651:9;4643:17;;4475:191;;;;:::o;4672:305::-;4712:3;4731:20;4749:1;4731:20;:::i;:::-;4726:25;;4765:20;4783:1;4765:20;:::i;:::-;4760:25;;4919:1;4851:66;4847:74;4844:1;4841:81;4838:107;;;4925:18;;:::i;:::-;4838:107;4969:1;4966;4962:9;4955:16;;4672:305;;;;:::o",
|
|
"source": "// SPDX-License-Identifier: MIT\n// Tells the Solidity compiler to compile only from v0.8.13 to v0.9.0\npragma solidity ^0.8.13;\n\nimport \"./ConvertLib.sol\";\n\n// This is just a simple example of a coin-like contract.\n// It is not ERC20 compatible and cannot be expected to talk to other\n// coin/token contracts.\n\ncontract MetaCoin {\n\tmapping (address => uint) balances;\n\n\tevent Transfer(address indexed _from, address indexed _to, uint256 _value);\n\n\tconstructor() {\n\t\tbalances[tx.origin] = 10000;\n\t}\n\n\tfunction sendCoin(address receiver, uint amount) public returns(bool sufficient) {\n\t\tif (balances[msg.sender] < amount) return false;\n\t\tbalances[msg.sender] -= amount;\n\t\tbalances[receiver] += amount;\n\t\temit Transfer(msg.sender, receiver, amount);\n\t\treturn true;\n\t}\n\n\tfunction getBalanceInEth(address addr) public view returns(uint){\n\t\treturn ConvertLib.convert(getBalance(addr),2);\n\t}\n\n\tfunction getBalance(address addr) public view returns(uint) {\n\t\treturn balances[addr];\n\t}\n}\n",
|
|
"sourcePath": "/home/matze/Programming/legacy/truffle/contracts/MetaCoin.sol",
|
|
"ast": {
|
|
"absolutePath": "project:/contracts/MetaCoin.sol",
|
|
"exportedSymbols": {
|
|
"ConvertLib": [
|
|
16
|
|
],
|
|
"MetaCoin": [
|
|
440
|
|
]
|
|
},
|
|
"id": 441,
|
|
"license": "MIT",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 346,
|
|
"literals": [
|
|
"solidity",
|
|
"^",
|
|
"0.8",
|
|
".13"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "102:24:2"
|
|
},
|
|
{
|
|
"absolutePath": "project:/contracts/ConvertLib.sol",
|
|
"file": "./ConvertLib.sol",
|
|
"id": 347,
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "ImportDirective",
|
|
"scope": 441,
|
|
"sourceUnit": 17,
|
|
"src": "128:26:2",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"canonicalName": "MetaCoin",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"id": 440,
|
|
"linearizedBaseContracts": [
|
|
440
|
|
],
|
|
"name": "MetaCoin",
|
|
"nameLocation": "319:8:2",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": false,
|
|
"id": 351,
|
|
"mutability": "mutable",
|
|
"name": "balances",
|
|
"nameLocation": "357:8:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 440,
|
|
"src": "331:34:2",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 350,
|
|
"keyType": {
|
|
"id": 348,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "340:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "331:25:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
},
|
|
"valueType": {
|
|
"id": 349,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "351:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
|
|
"id": 359,
|
|
"name": "Transfer",
|
|
"nameLocation": "375:8:2",
|
|
"nodeType": "EventDefinition",
|
|
"parameters": {
|
|
"id": 358,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 353,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "_from",
|
|
"nameLocation": "400:5:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 359,
|
|
"src": "384:21:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 352,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "384:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 355,
|
|
"indexed": true,
|
|
"mutability": "mutable",
|
|
"name": "_to",
|
|
"nameLocation": "423:3:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 359,
|
|
"src": "407:19:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 354,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "407:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 357,
|
|
"indexed": false,
|
|
"mutability": "mutable",
|
|
"name": "_value",
|
|
"nameLocation": "436:6:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 359,
|
|
"src": "428:14:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 356,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "428:7:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "383:60:2"
|
|
},
|
|
"src": "369:75:2"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 369,
|
|
"nodeType": "Block",
|
|
"src": "461:35:2",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 367,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 362,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 351,
|
|
"src": "465:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 365,
|
|
"indexExpression": {
|
|
"expression": {
|
|
"id": 363,
|
|
"name": "tx",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967270,
|
|
"src": "474:2:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_transaction",
|
|
"typeString": "tx"
|
|
}
|
|
},
|
|
"id": 364,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "origin",
|
|
"nodeType": "MemberAccess",
|
|
"src": "474:9:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "465:19:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"hexValue": "3130303030",
|
|
"id": 366,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "487:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_10000_by_1",
|
|
"typeString": "int_const 10000"
|
|
},
|
|
"value": "10000"
|
|
},
|
|
"src": "465:27:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 368,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "465:27:2"
|
|
}
|
|
]
|
|
},
|
|
"id": 370,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [],
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 360,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "458:2:2"
|
|
},
|
|
"returnParameters": {
|
|
"id": 361,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "461:0:2"
|
|
},
|
|
"scope": 440,
|
|
"src": "447:49:2",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 410,
|
|
"nodeType": "Block",
|
|
"src": "580:183:2",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 384,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"baseExpression": {
|
|
"id": 379,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 351,
|
|
"src": "588:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 382,
|
|
"indexExpression": {
|
|
"expression": {
|
|
"id": 380,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967281,
|
|
"src": "597:3:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 381,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"src": "597:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "588:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"id": 383,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 374,
|
|
"src": "611:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "588:29:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 387,
|
|
"nodeType": "IfStatement",
|
|
"src": "584:47:2",
|
|
"trueBody": {
|
|
"expression": {
|
|
"hexValue": "66616c7365",
|
|
"id": 385,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "626:5:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "false"
|
|
},
|
|
"functionReturnParameters": 378,
|
|
"id": 386,
|
|
"nodeType": "Return",
|
|
"src": "619:12:2"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 393,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 388,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 351,
|
|
"src": "635:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 391,
|
|
"indexExpression": {
|
|
"expression": {
|
|
"id": 389,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967281,
|
|
"src": "644:3:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 390,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"src": "644:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "635:20:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "-=",
|
|
"rightHandSide": {
|
|
"id": 392,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 374,
|
|
"src": "659:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "635:30:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 394,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "635:30:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 399,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"baseExpression": {
|
|
"id": 395,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 351,
|
|
"src": "669:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 397,
|
|
"indexExpression": {
|
|
"id": 396,
|
|
"name": "receiver",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 372,
|
|
"src": "678:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "669:18:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "+=",
|
|
"rightHandSide": {
|
|
"id": 398,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 374,
|
|
"src": "691:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "669:28:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 400,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "669:28:2"
|
|
},
|
|
{
|
|
"eventCall": {
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"id": 402,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4294967281,
|
|
"src": "715:3:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 403,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"src": "715:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 404,
|
|
"name": "receiver",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 372,
|
|
"src": "727:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
{
|
|
"id": 405,
|
|
"name": "amount",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 374,
|
|
"src": "737:6:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 401,
|
|
"name": "Transfer",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 359,
|
|
"src": "706:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
|
|
"typeString": "function (address,address,uint256)"
|
|
}
|
|
},
|
|
"id": 406,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "706:38:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 407,
|
|
"nodeType": "EmitStatement",
|
|
"src": "701:43:2"
|
|
},
|
|
{
|
|
"expression": {
|
|
"hexValue": "74727565",
|
|
"id": 408,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "bool",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "755:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"value": "true"
|
|
},
|
|
"functionReturnParameters": 378,
|
|
"id": 409,
|
|
"nodeType": "Return",
|
|
"src": "748:11:2"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "90b98a11",
|
|
"id": 411,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "sendCoin",
|
|
"nameLocation": "508:8:2",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 375,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 372,
|
|
"mutability": "mutable",
|
|
"name": "receiver",
|
|
"nameLocation": "525:8:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 411,
|
|
"src": "517:16:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 371,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "517:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 374,
|
|
"mutability": "mutable",
|
|
"name": "amount",
|
|
"nameLocation": "540:6:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 411,
|
|
"src": "535:11:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 373,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "535:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "516:31:2"
|
|
},
|
|
"returnParameters": {
|
|
"id": 378,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 377,
|
|
"mutability": "mutable",
|
|
"name": "sufficient",
|
|
"nameLocation": "568:10:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 411,
|
|
"src": "563:15:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 376,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "563:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "562:17:2"
|
|
},
|
|
"scope": 440,
|
|
"src": "499:264:2",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 426,
|
|
"nodeType": "Block",
|
|
"src": "830:53:2",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"id": 421,
|
|
"name": "addr",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 413,
|
|
"src": "871:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 420,
|
|
"name": "getBalance",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 439,
|
|
"src": "860:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$",
|
|
"typeString": "function (address) view returns (uint256)"
|
|
}
|
|
},
|
|
"id": 422,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "860:16:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "32",
|
|
"id": 423,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "877:1:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_2_by_1",
|
|
"typeString": "int_const 2"
|
|
},
|
|
"value": "2"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_2_by_1",
|
|
"typeString": "int_const 2"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 418,
|
|
"name": "ConvertLib",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 16,
|
|
"src": "841:10:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_ConvertLib_$16_$",
|
|
"typeString": "type(library ConvertLib)"
|
|
}
|
|
},
|
|
"id": 419,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "convert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 15,
|
|
"src": "841:18:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_delegatecall_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
"typeString": "function (uint256,uint256) pure returns (uint256)"
|
|
}
|
|
},
|
|
"id": 424,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "841:38:2",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 417,
|
|
"id": 425,
|
|
"nodeType": "Return",
|
|
"src": "834:45:2"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "7bd703e8",
|
|
"id": 427,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getBalanceInEth",
|
|
"nameLocation": "775:15:2",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 414,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 413,
|
|
"mutability": "mutable",
|
|
"name": "addr",
|
|
"nameLocation": "799:4:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 427,
|
|
"src": "791:12:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 412,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "791:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "790:14:2"
|
|
},
|
|
"returnParameters": {
|
|
"id": 417,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 416,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 427,
|
|
"src": "825:4:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 415,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "825:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "824:6:2"
|
|
},
|
|
"scope": 440,
|
|
"src": "766:117:2",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 438,
|
|
"nodeType": "Block",
|
|
"src": "946:29:2",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 434,
|
|
"name": "balances",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 351,
|
|
"src": "957:8:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
|
|
"typeString": "mapping(address => uint256)"
|
|
}
|
|
},
|
|
"id": 436,
|
|
"indexExpression": {
|
|
"id": 435,
|
|
"name": "addr",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 429,
|
|
"src": "966:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "957:14:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 433,
|
|
"id": 437,
|
|
"nodeType": "Return",
|
|
"src": "950:21:2"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "f8b2cb4f",
|
|
"id": 439,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "getBalance",
|
|
"nameLocation": "895:10:2",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters": {
|
|
"id": 430,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 429,
|
|
"mutability": "mutable",
|
|
"name": "addr",
|
|
"nameLocation": "914:4:2",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 439,
|
|
"src": "906:12:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 428,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "906:7:2",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "905:14:2"
|
|
},
|
|
"returnParameters": {
|
|
"id": 433,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 432,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nameLocation": "-1:-1:-1",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 439,
|
|
"src": "940:4:2",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 431,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "940:4:2",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "939:6:2"
|
|
},
|
|
"scope": 440,
|
|
"src": "886:89:2",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 441,
|
|
"src": "310:667:2",
|
|
"usedErrors": []
|
|
}
|
|
],
|
|
"src": "102:876:2"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.8.13+commit.abaa5c0e.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.4.10",
|
|
"updatedAt": "2022-11-12T10:54:46.515Z",
|
|
"devdoc": {
|
|
"kind": "dev",
|
|
"methods": {},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
} |