{ "contractName": "Migrations", "abi": [ { "inputs": [], "name": "last_completed_migration", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "constant": true }, { "inputs": [ { "internalType": "uint256", "name": "completed", "type": "uint256" } ], "name": "setCompleted", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "new_address", "type": "address" } ], "name": "upgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/Migrations.sol\":{\"keccak256\":\"0xfce26b5bae7c87d50f42f9a391504ee18bac85ac3a766302792f83d09ec4fce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b3c1b90f7afc957892f7432c595dffbca02b1ba5bcd460127b68dce076acca5\",\"dweb:/ipfs/QmZf8VG5JSZucc3FZ1ysW7J5vERBzF9WdEEAG3QRamxSyy\"]}},\"version\":1}", "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005057600080fd5b506104ab806100606000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac1461006d5780638da5cb5b1461008b578063fdacd576146100a9575b600080fd5b61006b600480360381019061006691906102ee565b6100c5565b005b6100756101c9565b6040516100829190610334565b60405180910390f35b6100936101cf565b6040516100a0919061035e565b60405180910390f35b6100c360048036038101906100be91906103a5565b6101f3565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014a90610455565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff1660e01b81526004016101939190610334565b600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b505050505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890610455565b60405180910390fd5b8060018190555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102bb82610290565b9050919050565b6102cb816102b0565b81146102d657600080fd5b50565b6000813590506102e8816102c2565b92915050565b6000602082840312156103045761030361028b565b5b6000610312848285016102d9565b91505092915050565b6000819050919050565b61032e8161031b565b82525050565b60006020820190506103496000830184610325565b92915050565b610358816102b0565b82525050565b6000602082019050610373600083018461034f565b92915050565b6103828161031b565b811461038d57600080fd5b50565b60008135905061039f81610379565b92915050565b6000602082840312156103bb576103ba61028b565b5b60006103c984828501610390565b91505092915050565b600082825260208201905092915050565b7f546869732066756e6374696f6e206973207265737472696374656420746f207460008201527f686520636f6e74726163742773206f776e657200000000000000000000000000602082015250565b600061043f6033836103d2565b915061044a826103e3565b604082019050919050565b6000602082019050818103600083015261046e81610432565b905091905056fea26469706673582212206ef20d27db34c5ebdabaefe972ebd4d25b086a44d4440c7aab399dda60d9dde364736f6c634300080a0033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac1461006d5780638da5cb5b1461008b578063fdacd576146100a9575b600080fd5b61006b600480360381019061006691906102ee565b6100c5565b005b6100756101c9565b6040516100829190610334565b60405180910390f35b6100936101cf565b6040516100a0919061035e565b60405180910390f35b6100c360048036038101906100be91906103a5565b6101f3565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014a90610455565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff1660e01b81526004016101939190610334565b600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b505050505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027890610455565b60405180910390fd5b8060018190555050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102bb82610290565b9050919050565b6102cb816102b0565b81146102d657600080fd5b50565b6000813590506102e8816102c2565b92915050565b6000602082840312156103045761030361028b565b5b6000610312848285016102d9565b91505092915050565b6000819050919050565b61032e8161031b565b82525050565b60006020820190506103496000830184610325565b92915050565b610358816102b0565b82525050565b6000602082019050610373600083018461034f565b92915050565b6103828161031b565b811461038d57600080fd5b50565b60008135905061039f81610379565b92915050565b6000602082840312156103bb576103ba61028b565b5b60006103c984828501610390565b91505092915050565b600082825260208201905092915050565b7f546869732066756e6374696f6e206973207265737472696374656420746f207460008201527f686520636f6e74726163742773206f776e657200000000000000000000000000602082015250565b600061043f6033836103d2565b915061044a826103e3565b604082019050919050565b6000602082019050818103600083015261046e81610432565b905091905056fea26469706673582212206ef20d27db34c5ebdabaefe972ebd4d25b086a44d4440c7aab399dda60d9dde364736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:3784:84", "statements": [ { "body": { "nodeType": "YulBlock", "src": "47:35:84", "statements": [ { "nodeType": "YulAssignment", "src": "57:19:84", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "73:2:84", "type": "", "value": "64" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "67:5:84" }, "nodeType": "YulFunctionCall", "src": "67:9:84" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "57:6:84" } ] } ] }, "name": "allocate_unbounded", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "40:6:84", "type": "" } ], "src": "7:75:84" }, { "body": { "nodeType": "YulBlock", "src": "177:28:84", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "194:1:84", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "197:1:84", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "187:6:84" }, "nodeType": "YulFunctionCall", "src": "187:12:84" }, "nodeType": "YulExpressionStatement", "src": "187:12:84" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", "src": "88:117:84" }, { "body": { "nodeType": "YulBlock", "src": "300:28:84", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "317:1:84", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "320:1:84", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "310:6:84" }, "nodeType": "YulFunctionCall", "src": "310:12:84" }, "nodeType": "YulExpressionStatement", "src": "310:12:84" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", "src": "211:117:84" }, { "body": { "nodeType": "YulBlock", "src": "379:81:84", "statements": [ { "nodeType": "YulAssignment", "src": "389:65:84", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "404:5:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "411:42:84", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "400:3:84" }, "nodeType": "YulFunctionCall", "src": "400:54:84" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "389:7:84" } ] } ] }, "name": "cleanup_t_uint160", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "361:5:84", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "371:7:84", "type": "" } ], "src": "334:126:84" }, { "body": { "nodeType": "YulBlock", "src": "511:51:84", "statements": [ { "nodeType": "YulAssignment", "src": "521:35:84", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "550:5:84" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", "src": "532:17:84" }, "nodeType": "YulFunctionCall", "src": "532:24:84" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "521:7:84" } ] } ] }, "name": "cleanup_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "493:5:84", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "503:7:84", "type": "" } ], "src": "466:96:84" }, { "body": { "nodeType": "YulBlock", "src": "611:79:84", "statements": [ { "body": { "nodeType": "YulBlock", "src": "668:16:84", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "677:1:84", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "680:1:84", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "670:6:84" }, "nodeType": "YulFunctionCall", "src": "670:12:84" }, "nodeType": "YulExpressionStatement", "src": "670:12:84" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "634:5:84" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "659:5:84" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "641:17:84" }, "nodeType": "YulFunctionCall", "src": "641:24:84" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "631:2:84" }, "nodeType": "YulFunctionCall", "src": "631:35:84" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "624:6:84" }, "nodeType": "YulFunctionCall", "src": "624:43:84" }, "nodeType": "YulIf", "src": "621:63:84" } ] }, "name": "validator_revert_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "604:5:84", "type": "" } ], "src": "568:122:84" }, { "body": { "nodeType": "YulBlock", "src": "748:87:84", "statements": [ { "nodeType": "YulAssignment", "src": "758:29:84", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "780:6:84" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "767:12:84" }, "nodeType": "YulFunctionCall", "src": "767:20:84" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "758:5:84" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "823:5:84" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", "src": "796:26:84" }, "nodeType": "YulFunctionCall", "src": "796:33:84" }, "nodeType": "YulExpressionStatement", "src": "796:33:84" } ] }, "name": "abi_decode_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "726:6:84", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "734:3:84", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "742:5:84", "type": "" } ], "src": "696:139:84" }, { "body": { "nodeType": "YulBlock", "src": "907:263:84", "statements": [ { "body": { "nodeType": "YulBlock", "src": "953:83:84", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "955:77:84" }, "nodeType": "YulFunctionCall", "src": "955:79:84" }, "nodeType": "YulExpressionStatement", "src": "955:79:84" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "928:7:84" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "937:9:84" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "924:3:84" }, "nodeType": "YulFunctionCall", "src": "924:23:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "949:2:84", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "920:3:84" }, "nodeType": "YulFunctionCall", "src": "920:32:84" }, "nodeType": "YulIf", "src": "917:119:84" }, { "nodeType": "YulBlock", "src": "1046:117:84", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "1061:15:84", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "1075:1:84", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "1065:6:84", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "1090:63:84", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1125:9:84" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "1136:6:84" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1121:3:84" }, "nodeType": "YulFunctionCall", "src": "1121:22:84" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "1145:7:84" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", "src": "1100:20:84" }, "nodeType": "YulFunctionCall", "src": "1100:53:84" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "1090:6:84" } ] } ] } ] }, "name": "abi_decode_tuple_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "877:9:84", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "888:7:84", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "900:6:84", "type": "" } ], "src": "841:329:84" }, { "body": { "nodeType": "YulBlock", "src": "1221:32:84", "statements": [ { "nodeType": "YulAssignment", "src": "1231:16:84", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "1242:5:84" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", "src": "1231:7:84" } ] } ] }, "name": "cleanup_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1203:5:84", "type": "" } ], "returnVariables": [ { "name": "cleaned", "nodeType": "YulTypedName", "src": "1213:7:84", "type": "" } ], "src": "1176:77:84" }, { "body": { "nodeType": "YulBlock", "src": "1324:53:84", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1341:3:84" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1364:5:84" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "1346:17:84" }, "nodeType": "YulFunctionCall", "src": "1346:24:84" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1334:6:84" }, "nodeType": "YulFunctionCall", "src": "1334:37:84" }, "nodeType": "YulExpressionStatement", "src": "1334:37:84" } ] }, "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1312:5:84", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "1319:3:84", "type": "" } ], "src": "1259:118:84" }, { "body": { "nodeType": "YulBlock", "src": "1481:124:84", "statements": [ { "nodeType": "YulAssignment", "src": "1491:26:84", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1503:9:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1514:2:84", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1499:3:84" }, "nodeType": "YulFunctionCall", "src": "1499:18:84" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "1491:4:84" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "1571:6:84" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1584:9:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1595:1:84", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1580:3:84" }, "nodeType": "YulFunctionCall", "src": "1580:17:84" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", "src": "1527:43:84" }, "nodeType": "YulFunctionCall", "src": "1527:71:84" }, "nodeType": "YulExpressionStatement", "src": "1527:71:84" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "1453:9:84", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "1465:6:84", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "1476:4:84", "type": "" } ], "src": "1383:222:84" }, { "body": { "nodeType": "YulBlock", "src": "1676:53:84", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "1693:3:84" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "1716:5:84" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", "src": "1698:17:84" }, "nodeType": "YulFunctionCall", "src": "1698:24:84" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1686:6:84" }, "nodeType": "YulFunctionCall", "src": "1686:37:84" }, "nodeType": "YulExpressionStatement", "src": "1686:37:84" } ] }, "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1664:5:84", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", "src": "1671:3:84", "type": "" } ], "src": "1611:118:84" }, { "body": { "nodeType": "YulBlock", "src": "1833:124:84", "statements": [ { "nodeType": "YulAssignment", "src": "1843:26:84", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1855:9:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1866:2:84", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1851:3:84" }, "nodeType": "YulFunctionCall", "src": "1851:18:84" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "1843:4:84" } ] }, { "expression": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "1923:6:84" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "1936:9:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1947:1:84", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1932:3:84" }, "nodeType": "YulFunctionCall", "src": "1932:17:84" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", "src": "1879:43:84" }, "nodeType": "YulFunctionCall", "src": "1879:71:84" }, "nodeType": "YulExpressionStatement", "src": "1879:71:84" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "1805:9:84", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "1817:6:84", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "1828:4:84", "type": "" } ], "src": "1735:222:84" }, { "body": { "nodeType": "YulBlock", "src": "2006:79:84", "statements": [ { "body": { "nodeType": "YulBlock", "src": "2063:16:84", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2072:1:84", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2075:1:84", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2065:6:84" }, "nodeType": "YulFunctionCall", "src": "2065:12:84" }, "nodeType": "YulExpressionStatement", "src": "2065:12:84" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2029:5:84" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2054:5:84" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", "src": "2036:17:84" }, "nodeType": "YulFunctionCall", "src": "2036:24:84" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "2026:2:84" }, "nodeType": "YulFunctionCall", "src": "2026:35:84" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "2019:6:84" }, "nodeType": "YulFunctionCall", "src": "2019:43:84" }, "nodeType": "YulIf", "src": "2016:63:84" } ] }, "name": "validator_revert_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", "src": "1999:5:84", "type": "" } ], "src": "1963:122:84" }, { "body": { "nodeType": "YulBlock", "src": "2143:87:84", "statements": [ { "nodeType": "YulAssignment", "src": "2153:29:84", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "2175:6:84" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "2162:12:84" }, "nodeType": "YulFunctionCall", "src": "2162:20:84" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2153:5:84" } ] }, { "expression": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "2218:5:84" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", "src": "2191:26:84" }, "nodeType": "YulFunctionCall", "src": "2191:33:84" }, "nodeType": "YulExpressionStatement", "src": "2191:33:84" } ] }, "name": "abi_decode_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "2121:6:84", "type": "" }, { "name": "end", "nodeType": "YulTypedName", "src": "2129:3:84", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "2137:5:84", "type": "" } ], "src": "2091:139:84" }, { "body": { "nodeType": "YulBlock", "src": "2302:263:84", "statements": [ { "body": { "nodeType": "YulBlock", "src": "2348:83:84", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", "src": "2350:77:84" }, "nodeType": "YulFunctionCall", "src": "2350:79:84" }, "nodeType": "YulExpressionStatement", "src": "2350:79:84" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "2323:7:84" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "2332:9:84" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "2319:3:84" }, "nodeType": "YulFunctionCall", "src": "2319:23:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2344:2:84", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "2315:3:84" }, "nodeType": "YulFunctionCall", "src": "2315:32:84" }, "nodeType": "YulIf", "src": "2312:119:84" }, { "nodeType": "YulBlock", "src": "2441:117:84", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "2456:15:84", "value": { "kind": "number", "nodeType": "YulLiteral", "src": "2470:1:84", "type": "", "value": "0" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", "src": "2460:6:84", "type": "" } ] }, { "nodeType": "YulAssignment", "src": "2485:63:84", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "2520:9:84" }, { "name": "offset", "nodeType": "YulIdentifier", "src": "2531:6:84" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2516:3:84" }, "nodeType": "YulFunctionCall", "src": "2516:22:84" }, { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "2540:7:84" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", "src": "2495:20:84" }, "nodeType": "YulFunctionCall", "src": "2495:53:84" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "2485:6:84" } ] } ] } ] }, "name": "abi_decode_tuple_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "2272:9:84", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "2283:7:84", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "2295:6:84", "type": "" } ], "src": "2236:329:84" }, { "body": { "nodeType": "YulBlock", "src": "2667:73:84", "statements": [ { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2684:3:84" }, { "name": "length", "nodeType": "YulIdentifier", "src": "2689:6:84" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2677:6:84" }, "nodeType": "YulFunctionCall", "src": "2677:19:84" }, "nodeType": "YulExpressionStatement", "src": "2677:19:84" }, { "nodeType": "YulAssignment", "src": "2705:29:84", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "2724:3:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2729:4:84", "type": "", "value": "0x20" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2720:3:84" }, "nodeType": "YulFunctionCall", "src": "2720:14:84" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", "src": "2705:11:84" } ] } ] }, "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "2639:3:84", "type": "" }, { "name": "length", "nodeType": "YulTypedName", "src": "2644:6:84", "type": "" } ], "returnVariables": [ { "name": "updated_pos", "nodeType": "YulTypedName", "src": "2655:11:84", "type": "" } ], "src": "2571:169:84" }, { "body": { "nodeType": "YulBlock", "src": "2852:132:84", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "2874:6:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2882:1:84", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2870:3:84" }, "nodeType": "YulFunctionCall", "src": "2870:14:84" }, { "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074", "kind": "string", "nodeType": "YulLiteral", "src": "2886:34:84", "type": "", "value": "This function is restricted to t" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2863:6:84" }, "nodeType": "YulFunctionCall", "src": "2863:58:84" }, "nodeType": "YulExpressionStatement", "src": "2863:58:84" }, { "expression": { "arguments": [ { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", "src": "2942:6:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2950:2:84", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2938:3:84" }, "nodeType": "YulFunctionCall", "src": "2938:15:84" }, { "hexValue": "686520636f6e74726163742773206f776e6572", "kind": "string", "nodeType": "YulLiteral", "src": "2955:21:84", "type": "", "value": "he contract's owner" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "2931:6:84" }, "nodeType": "YulFunctionCall", "src": "2931:46:84" }, "nodeType": "YulExpressionStatement", "src": "2931:46:84" } ] }, "name": "store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", "src": "2844:6:84", "type": "" } ], "src": "2746:238:84" }, { "body": { "nodeType": "YulBlock", "src": "3136:220:84", "statements": [ { "nodeType": "YulAssignment", "src": "3146:74:84", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3212:3:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3217:2:84", "type": "", "value": "51" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "3153:58:84" }, "nodeType": "YulFunctionCall", "src": "3153:67:84" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3146:3:84" } ] }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3318:3:84" } ], "functionName": { "name": "store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", "nodeType": "YulIdentifier", "src": "3229:88:84" }, "nodeType": "YulFunctionCall", "src": "3229:93:84" }, "nodeType": "YulExpressionStatement", "src": "3229:93:84" }, { "nodeType": "YulAssignment", "src": "3331:19:84", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", "src": "3342:3:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3347:2:84", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3338:3:84" }, "nodeType": "YulFunctionCall", "src": "3338:12:84" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "3331:3:84" } ] } ] }, "name": "abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "3124:3:84", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "3132:3:84", "type": "" } ], "src": "2990:366:84" }, { "body": { "nodeType": "YulBlock", "src": "3533:248:84", "statements": [ { "nodeType": "YulAssignment", "src": "3543:26:84", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3555:9:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3566:2:84", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3551:3:84" }, "nodeType": "YulFunctionCall", "src": "3551:18:84" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3543:4:84" } ] }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "3590:9:84" }, { "kind": "number", "nodeType": "YulLiteral", "src": "3601:1:84", "type": "", "value": "0" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "3586:3:84" }, "nodeType": "YulFunctionCall", "src": "3586:17:84" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3609:4:84" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "3615:9:84" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "3605:3:84" }, "nodeType": "YulFunctionCall", "src": "3605:20:84" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "3579:6:84" }, "nodeType": "YulFunctionCall", "src": "3579:47:84" }, "nodeType": "YulExpressionStatement", "src": "3579:47:84" }, { "nodeType": "YulAssignment", "src": "3635:139:84", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3769:4:84" } ], "functionName": { "name": "abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", "src": "3643:124:84" }, "nodeType": "YulFunctionCall", "src": "3643:131:84" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "3635:4:84" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "3513:9:84", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "3528:4:84", "type": "" } ], "src": "3362:419:84" } ] }, "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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1(memPtr) {\n\n mstore(add(memPtr, 0), \"This function is restricted to t\")\n\n mstore(add(memPtr, 32), \"he contract's owner\")\n\n }\n\n function abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 51)\n store_literal_in_memory_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", "id": 84, "language": "Yul", "name": "#utility.yul" } ], "sourceMap": "57:531:42:-:0;;;104:10;81:33;;;;;;;;;;;;;;;;;;;;57:531;;;;;;;;;;;;;;;;", "deployedSourceMap": "57:531:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;419:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;118:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;81:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;307:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;419:167;219:5;;;;;;;;;;205:19;;:10;:19;;;190:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;483:19:::1;516:11;483:45;;534:8;:21;;;556:24;;534:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;477:109;419:167:::0;:::o;118:39::-;;;;:::o;81:33::-;;;;;;;;;;;;:::o;307:108::-;219:5;;;;;;;;;;205:19;;:10;:19;;;190:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;401:9:::1;374:24;:36;;;;307:108:::0;:::o;88:117:84:-;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:118::-;1698:24;1716:5;1698:24;:::i;:::-;1693:3;1686:37;1611:118;;:::o;1735:222::-;1828:4;1866:2;1855:9;1851:18;1843:26;;1879:71;1947:1;1936:9;1932:17;1923:6;1879:71;:::i;:::-;1735:222;;;;:::o;1963:122::-;2036:24;2054:5;2036:24;:::i;:::-;2029:5;2026:35;2016:63;;2075:1;2072;2065:12;2016:63;1963:122;:::o;2091:139::-;2137:5;2175:6;2162:20;2153:29;;2191:33;2218:5;2191:33;:::i;:::-;2091:139;;;;:::o;2236:329::-;2295:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:119;;;2350:79;;:::i;:::-;2312:119;2470:1;2495:53;2540:7;2531:6;2520:9;2516:22;2495:53;:::i;:::-;2485:63;;2441:117;2236:329;;;;:::o;2571:169::-;2655:11;2689:6;2684:3;2677:19;2729:4;2724:3;2720:14;2705:29;;2571:169;;;;:::o;2746:238::-;2886:34;2882:1;2874:6;2870:14;2863:58;2955:21;2950:2;2942:6;2938:15;2931:46;2746:238;:::o;2990:366::-;3132:3;3153:67;3217:2;3212:3;3153:67;:::i;:::-;3146:74;;3229:93;3318:3;3229:93;:::i;:::-;3347:2;3342:3;3338:12;3331:19;;2990:366;;;:::o;3362:419::-;3528:4;3566:2;3555:9;3551:18;3543:26;;3615:9;3609:4;3605:20;3601:1;3590:9;3586:17;3579:47;3643:131;3769:4;3643:131;:::i;:::-;3635:139;;3362:419;;;:::o", "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint256 public last_completed_migration;\n\n modifier restricted() {\n require(\n msg.sender == owner,\n \"This function is restricted to the contract's owner\"\n );\n _;\n }\n\n function setCompleted(uint256 completed) external restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) external restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/Migrations.sol", "ast": { "absolutePath": "project:/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 9351 ] }, "id": 9352, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 9299, "literals": [ "solidity", "0.8", ".10" ], "nodeType": "PragmaDirective", "src": "32:23:42" }, { "abstract": false, "baseContracts": [], "canonicalName": "Migrations", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 9351, "linearizedBaseContracts": [ 9351 ], "name": "Migrations", "nameLocation": "66:10:42", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "8da5cb5b", "id": 9303, "mutability": "mutable", "name": "owner", "nameLocation": "96:5:42", "nodeType": "VariableDeclaration", "scope": 9351, "src": "81:33:42", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9300, "name": "address", "nodeType": "ElementaryTypeName", "src": "81:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "expression": { "id": 9301, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "104:3:42", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 9302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "104:10:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "public" }, { "constant": false, "functionSelector": "445df0ac", "id": 9305, "mutability": "mutable", "name": "last_completed_migration", "nameLocation": "133:24:42", "nodeType": "VariableDeclaration", "scope": 9351, "src": "118:39:42", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "118:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "body": { "id": 9316, "nodeType": "Block", "src": "184:119:42", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 9311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 9308, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "205:3:42", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 9309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "205:10:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 9310, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9303, "src": "219:5:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "205:19:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", "id": 9312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "232:53:42", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", "typeString": "literal_string \"This function is restricted to the contract's owner\"" }, "value": "This function is restricted to the contract's owner" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", "typeString": "literal_string \"This function is restricted to the contract's owner\"" } ], "id": 9307, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "190:7:42", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 9313, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "190:101:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9314, "nodeType": "ExpressionStatement", "src": "190:101:42" }, { "id": 9315, "nodeType": "PlaceholderStatement", "src": "297:1:42" } ] }, "id": 9317, "name": "restricted", "nameLocation": "171:10:42", "nodeType": "ModifierDefinition", "parameters": { "id": 9306, "nodeType": "ParameterList", "parameters": [], "src": "181:2:42" }, "src": "162:141:42", "virtual": false, "visibility": "internal" }, { "body": { "id": 9328, "nodeType": "Block", "src": "368:47:42", "statements": [ { "expression": { "id": 9326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 9324, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9305, "src": "374:24:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 9325, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9319, "src": "401:9:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "374:36:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9327, "nodeType": "ExpressionStatement", "src": "374:36:42" } ] }, "functionSelector": "fdacd576", "id": 9329, "implemented": true, "kind": "function", "modifiers": [ { "id": 9322, "kind": "modifierInvocation", "modifierName": { "id": 9321, "name": "restricted", "nodeType": "IdentifierPath", "referencedDeclaration": 9317, "src": "357:10:42" }, "nodeType": "ModifierInvocation", "src": "357:10:42" } ], "name": "setCompleted", "nameLocation": "316:12:42", "nodeType": "FunctionDefinition", "parameters": { "id": 9320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9319, "mutability": "mutable", "name": "completed", "nameLocation": "337:9:42", "nodeType": "VariableDeclaration", "scope": 9329, "src": "329:17:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9318, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "329:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "328:19:42" }, "returnParameters": { "id": 9323, "nodeType": "ParameterList", "parameters": [], "src": "368:0:42" }, "scope": 9351, "src": "307:108:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { "id": 9349, "nodeType": "Block", "src": "477:109:42", "statements": [ { "assignments": [ 9338 ], "declarations": [ { "constant": false, "id": 9338, "mutability": "mutable", "name": "upgraded", "nameLocation": "494:8:42", "nodeType": "VariableDeclaration", "scope": 9349, "src": "483:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" }, "typeName": { "id": 9337, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9336, "name": "Migrations", "nodeType": "IdentifierPath", "referencedDeclaration": 9351, "src": "483:10:42" }, "referencedDeclaration": 9351, "src": "483:10:42", "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" } }, "visibility": "internal" } ], "id": 9342, "initialValue": { "arguments": [ { "id": 9340, "name": "new_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9331, "src": "516:11:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 9339, "name": "Migrations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9351, "src": "505:10:42", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Migrations_$9351_$", "typeString": "type(contract Migrations)" } }, "id": 9341, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "505:23:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" } }, "nodeType": "VariableDeclarationStatement", "src": "483:45:42" }, { "expression": { "arguments": [ { "id": 9346, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9305, "src": "556:24:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 9343, "name": "upgraded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9338, "src": "534:8:42", "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" } }, "id": 9345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setCompleted", "nodeType": "MemberAccess", "referencedDeclaration": 9329, "src": "534:21:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, "id": 9347, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "534:47:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9348, "nodeType": "ExpressionStatement", "src": "534:47:42" } ] }, "functionSelector": "0900f010", "id": 9350, "implemented": true, "kind": "function", "modifiers": [ { "id": 9334, "kind": "modifierInvocation", "modifierName": { "id": 9333, "name": "restricted", "nodeType": "IdentifierPath", "referencedDeclaration": 9317, "src": "466:10:42" }, "nodeType": "ModifierInvocation", "src": "466:10:42" } ], "name": "upgrade", "nameLocation": "428:7:42", "nodeType": "FunctionDefinition", "parameters": { "id": 9332, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9331, "mutability": "mutable", "name": "new_address", "nameLocation": "444:11:42", "nodeType": "VariableDeclaration", "scope": 9350, "src": "436:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9330, "name": "address", "nodeType": "ElementaryTypeName", "src": "436:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "435:21:42" }, "returnParameters": { "id": 9335, "nodeType": "ParameterList", "parameters": [], "src": "477:0:42" }, "scope": 9351, "src": "419:167:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 9352, "src": "57:531:42", "usedErrors": [] } ], "src": "32:557:42" }, "legacyAST": { "absolutePath": "project:/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 9351 ] }, "id": 9352, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 9299, "literals": [ "solidity", "0.8", ".10" ], "nodeType": "PragmaDirective", "src": "32:23:42" }, { "abstract": false, "baseContracts": [], "canonicalName": "Migrations", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 9351, "linearizedBaseContracts": [ 9351 ], "name": "Migrations", "nameLocation": "66:10:42", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "8da5cb5b", "id": 9303, "mutability": "mutable", "name": "owner", "nameLocation": "96:5:42", "nodeType": "VariableDeclaration", "scope": 9351, "src": "81:33:42", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9300, "name": "address", "nodeType": "ElementaryTypeName", "src": "81:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "expression": { "id": 9301, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "104:3:42", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 9302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "104:10:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "public" }, { "constant": false, "functionSelector": "445df0ac", "id": 9305, "mutability": "mutable", "name": "last_completed_migration", "nameLocation": "133:24:42", "nodeType": "VariableDeclaration", "scope": 9351, "src": "118:39:42", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9304, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "118:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "body": { "id": 9316, "nodeType": "Block", "src": "184:119:42", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 9311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 9308, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "205:3:42", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 9309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "205:10:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 9310, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9303, "src": "219:5:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "205:19:42", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", "id": 9312, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "232:53:42", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", "typeString": "literal_string \"This function is restricted to the contract's owner\"" }, "value": "This function is restricted to the contract's owner" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1", "typeString": "literal_string \"This function is restricted to the contract's owner\"" } ], "id": 9307, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "190:7:42", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 9313, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "190:101:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9314, "nodeType": "ExpressionStatement", "src": "190:101:42" }, { "id": 9315, "nodeType": "PlaceholderStatement", "src": "297:1:42" } ] }, "id": 9317, "name": "restricted", "nameLocation": "171:10:42", "nodeType": "ModifierDefinition", "parameters": { "id": 9306, "nodeType": "ParameterList", "parameters": [], "src": "181:2:42" }, "src": "162:141:42", "virtual": false, "visibility": "internal" }, { "body": { "id": 9328, "nodeType": "Block", "src": "368:47:42", "statements": [ { "expression": { "id": 9326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 9324, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9305, "src": "374:24:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 9325, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9319, "src": "401:9:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "374:36:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 9327, "nodeType": "ExpressionStatement", "src": "374:36:42" } ] }, "functionSelector": "fdacd576", "id": 9329, "implemented": true, "kind": "function", "modifiers": [ { "id": 9322, "kind": "modifierInvocation", "modifierName": { "id": 9321, "name": "restricted", "nodeType": "IdentifierPath", "referencedDeclaration": 9317, "src": "357:10:42" }, "nodeType": "ModifierInvocation", "src": "357:10:42" } ], "name": "setCompleted", "nameLocation": "316:12:42", "nodeType": "FunctionDefinition", "parameters": { "id": 9320, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9319, "mutability": "mutable", "name": "completed", "nameLocation": "337:9:42", "nodeType": "VariableDeclaration", "scope": 9329, "src": "329:17:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9318, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "329:7:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "328:19:42" }, "returnParameters": { "id": 9323, "nodeType": "ParameterList", "parameters": [], "src": "368:0:42" }, "scope": 9351, "src": "307:108:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { "id": 9349, "nodeType": "Block", "src": "477:109:42", "statements": [ { "assignments": [ 9338 ], "declarations": [ { "constant": false, "id": 9338, "mutability": "mutable", "name": "upgraded", "nameLocation": "494:8:42", "nodeType": "VariableDeclaration", "scope": 9349, "src": "483:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" }, "typeName": { "id": 9337, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 9336, "name": "Migrations", "nodeType": "IdentifierPath", "referencedDeclaration": 9351, "src": "483:10:42" }, "referencedDeclaration": 9351, "src": "483:10:42", "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" } }, "visibility": "internal" } ], "id": 9342, "initialValue": { "arguments": [ { "id": 9340, "name": "new_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9331, "src": "516:11:42", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 9339, "name": "Migrations", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9351, "src": "505:10:42", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Migrations_$9351_$", "typeString": "type(contract Migrations)" } }, "id": 9341, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "505:23:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" } }, "nodeType": "VariableDeclarationStatement", "src": "483:45:42" }, { "expression": { "arguments": [ { "id": 9346, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9305, "src": "556:24:42", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 9343, "name": "upgraded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9338, "src": "534:8:42", "typeDescriptions": { "typeIdentifier": "t_contract$_Migrations_$9351", "typeString": "contract Migrations" } }, "id": 9345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setCompleted", "nodeType": "MemberAccess", "referencedDeclaration": 9329, "src": "534:21:42", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, "id": 9347, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "534:47:42", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 9348, "nodeType": "ExpressionStatement", "src": "534:47:42" } ] }, "functionSelector": "0900f010", "id": 9350, "implemented": true, "kind": "function", "modifiers": [ { "id": 9334, "kind": "modifierInvocation", "modifierName": { "id": 9333, "name": "restricted", "nodeType": "IdentifierPath", "referencedDeclaration": 9317, "src": "466:10:42" }, "nodeType": "ModifierInvocation", "src": "466:10:42" } ], "name": "upgrade", "nameLocation": "428:7:42", "nodeType": "FunctionDefinition", "parameters": { "id": 9332, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9331, "mutability": "mutable", "name": "new_address", "nameLocation": "444:11:42", "nodeType": "VariableDeclaration", "scope": 9350, "src": "436:19:42", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 9330, "name": "address", "nodeType": "ElementaryTypeName", "src": "436:7:42", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "435:21:42" }, "returnParameters": { "id": 9335, "nodeType": "ParameterList", "parameters": [], "src": "477:0:42" }, "scope": 9351, "src": "419:167:42", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 9352, "src": "57:531:42", "usedErrors": [] } ], "src": "32:557:42" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": { "195": { "events": {}, "links": {}, "address": "0x819677A74F316DD77Fe5f9759E44771Df89ccdf6", "transactionHash": "0x8f7f974b104d3baa55c02525fdf9da3215b660d397c2e644b0548ce3f3f8309f" }, "1337": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x9947f67c57f75310fb2bcb605be9d4e70a8448132a6445cd3f10a83caaaf5acf" }, "1338": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0xd609e4dfdc5ef642b3192d2f90ee390eacb6863bf145da078ffca2a0aa1ba67e" }, "5777": { "events": {}, "links": {}, "address": "0x420f52442F0DD9C1439fEABF1994c39D95CfC632", "transactionHash": "0x74d8b6e4788ec931a9cc98f15bb399ce258963de45237d0b8528efb5358bf1d0" }, "80001": { "events": {}, "links": {}, "address": "0xD166E700c85474829b100881C489a049f0a1C28C", "transactionHash": "0x354d816a4df1ae2479912765f26b39cc1651fc0dfc70699e1a22a7a051b8e586" }, "91715": { "events": {}, "links": {}, "address": "0x819677A74F316DD77Fe5f9759E44771Df89ccdf6", "transactionHash": "0x87cbe345b962329f071001337d2099e306a9198695fd8ec02488a9e51d19d49a" }, "1660724532588": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660724848762": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660726042391": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660726901367": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660727189243": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660727462793": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660727844405": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660728392066": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1660789947591": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x48bdf23a40832e27b03488c07a3499446ea72de28dfc5da232f940822771f02d" }, "1665724957326": { "events": {}, "links": {}, "address": "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550", "transactionHash": "0x30f24d0449ca8b6b4cc495fd40367310d34e2eff2128343e47edffbb7f8016fc" }, "1666000229659": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0xb19d4c63ac0f239fa6fb374195429d5b6340ea7e332b98146124550a565998bc" }, "1666158172944": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x667e8095c26b0657402c352fae2437e7f6c17a1bb89538ccb1fe6780357bb933" }, "1666162776163": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0xbe8d93d30cb3ecb356b69cc806ad24a70ced50c134c1e8c4b0ea2609e174879d" }, "1666167438998": { "events": {}, "links": {}, "address": "0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab", "transactionHash": "0x3963c496ad636403fa000de1dd33d0c363f7f3104afa6f2140d13dedaccb56a6" } }, "schemaVersion": "3.4.16", "updatedAt": "2024-03-04T02:52:37.017Z", "networkType": "ethereum", "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }