becrypto/build/contracts/Migrations.json
2024-03-04 14:36:51 +08:00

3274 lines
127 KiB
JSON

{
"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
}
}