{ "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" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"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\"}],\"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\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/Migrations.sol\":{\"keccak256\":\"0xb5806dfb94b7e111177b0c88f11a3ca041004e8e1c83d46fb781f3df0ea20672\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1519a9c3ecf126400b366104cddbd2513c92f0b34a9090a7d5413d990ba4c5a5\",\"dweb:/ipfs/QmT9T6hofePtB8MAFZsJkGhiFyuwq2nKtZxazB1iUag8KP\"]}},\"version\":1}", "bytecode": "0x6080604052600080546001600160a01b0319163317905534801561002257600080fd5b50610170806100326000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610062578063fdacd5761461008d575b600080fd5b61004f60015481565b6040519081526020015b60405180910390f35b600054610075906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6100a061009b366004610121565b6100a2565b005b6000546001600160a01b0316331461011c5760405162461bcd60e51b815260206004820152603360248201527f546869732066756e6374696f6e206973207265737472696374656420746f207460448201527234329031b7b73a3930b1ba13b99037bbb732b960691b606482015260840160405180910390fd5b600155565b60006020828403121561013357600080fd5b503591905056fea264697066735822122004988b9f681bb343d8a46460851ca74420911aee8e648413b8acb471a1ba203464736f6c634300080b0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063445df0ac146100465780638da5cb5b14610062578063fdacd5761461008d575b600080fd5b61004f60015481565b6040519081526020015b60405180910390f35b600054610075906001600160a01b031681565b6040516001600160a01b039091168152602001610059565b6100a061009b366004610121565b6100a2565b005b6000546001600160a01b0316331461011c5760405162461bcd60e51b815260206004820152603360248201527f546869732066756e6374696f6e206973207265737472696374656420746f207460448201527234329031b7b73a3930b1ba13b99037bbb732b960691b606482015260840160405180910390fd5b600155565b60006020828403121561013357600080fd5b503591905056fea264697066735822122004988b9f681bb343d8a46460851ca74420911aee8e648413b8acb471a1ba203464736f6c634300080b0033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:1006:15", "statements": [ { "nodeType": "YulBlock", "src": "6:3:15", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "115:76:15", "statements": [ { "nodeType": "YulAssignment", "src": "125:26:15", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "137:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "148:2:15", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "133:3:15" }, "nodeType": "YulFunctionCall", "src": "133:18:15" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "125:4:15" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "167:9:15" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "178:6:15" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "160:6:15" }, "nodeType": "YulFunctionCall", "src": "160:25:15" }, "nodeType": "YulExpressionStatement", "src": "160:25:15" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "84:9:15", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "95:6:15", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "106:4:15", "type": "" } ], "src": "14:177:15" }, { "body": { "nodeType": "YulBlock", "src": "297:102:15", "statements": [ { "nodeType": "YulAssignment", "src": "307:26:15", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "319:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "330:2:15", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "315:3:15" }, "nodeType": "YulFunctionCall", "src": "315:18:15" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "307:4:15" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "349:9:15" }, { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "364:6:15" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "380:3:15", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", "src": "385:1:15", "type": "", "value": "1" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "376:3:15" }, "nodeType": "YulFunctionCall", "src": "376:11:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "389:1:15", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "372:3:15" }, "nodeType": "YulFunctionCall", "src": "372:19:15" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "360:3:15" }, "nodeType": "YulFunctionCall", "src": "360:32:15" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "342:6:15" }, "nodeType": "YulFunctionCall", "src": "342:51:15" }, "nodeType": "YulExpressionStatement", "src": "342:51:15" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "266:9:15", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "277:6:15", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "288:4:15", "type": "" } ], "src": "196:203:15" }, { "body": { "nodeType": "YulBlock", "src": "474:110:15", "statements": [ { "body": { "nodeType": "YulBlock", "src": "520:16:15", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "529:1:15", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "532:1:15", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "522:6:15" }, "nodeType": "YulFunctionCall", "src": "522:12:15" }, "nodeType": "YulExpressionStatement", "src": "522:12:15" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "495:7:15" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "504:9:15" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "491:3:15" }, "nodeType": "YulFunctionCall", "src": "491:23:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "516:2:15", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "487:3:15" }, "nodeType": "YulFunctionCall", "src": "487:32:15" }, "nodeType": "YulIf", "src": "484:52:15" }, { "nodeType": "YulAssignment", "src": "545:33:15", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "568:9:15" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "555:12:15" }, "nodeType": "YulFunctionCall", "src": "555:23:15" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "545:6:15" } ] } ] }, "name": "abi_decode_tuple_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "440:9:15", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "451:7:15", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "463:6:15", "type": "" } ], "src": "404:180:15" }, { "body": { "nodeType": "YulBlock", "src": "763:241:15", "statements": [ { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "780:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "791:2:15", "type": "", "value": "32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "773:6:15" }, "nodeType": "YulFunctionCall", "src": "773:21:15" }, "nodeType": "YulExpressionStatement", "src": "773:21:15" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "814:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "825:2:15", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "810:3:15" }, "nodeType": "YulFunctionCall", "src": "810:18:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "830:2:15", "type": "", "value": "51" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "803:6:15" }, "nodeType": "YulFunctionCall", "src": "803:30:15" }, "nodeType": "YulExpressionStatement", "src": "803:30:15" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "853:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "864:2:15", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "849:3:15" }, "nodeType": "YulFunctionCall", "src": "849:18:15" }, { "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074", "kind": "string", "nodeType": "YulLiteral", "src": "869:34:15", "type": "", "value": "This function is restricted to t" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "842:6:15" }, "nodeType": "YulFunctionCall", "src": "842:62:15" }, "nodeType": "YulExpressionStatement", "src": "842:62:15" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "924:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "935:2:15", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "920:3:15" }, "nodeType": "YulFunctionCall", "src": "920:18:15" }, { "hexValue": "686520636f6e74726163742773206f776e6572", "kind": "string", "nodeType": "YulLiteral", "src": "940:21:15", "type": "", "value": "he contract's owner" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "913:6:15" }, "nodeType": "YulFunctionCall", "src": "913:49:15" }, "nodeType": "YulExpressionStatement", "src": "913:49:15" }, { "nodeType": "YulAssignment", "src": "971:27:15", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "983:9:15" }, { "kind": "number", "nodeType": "YulLiteral", "src": "994:3:15", "type": "", "value": "128" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "979:3:15" }, "nodeType": "YulFunctionCall", "src": "979:19:15" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "971:4:15" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "740:9:15", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "754:4:15", "type": "" } ], "src": "589:415:15" } ] }, "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_stringliteral_f60fe2d9d123295bf92ecf95167f1fa709e374da35e4c083bd39dc2d82acd8b1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 51)\n mstore(add(headStart, 64), \"This function is restricted to t\")\n mstore(add(headStart, 96), \"he contract's owner\")\n tail := add(headStart, 128)\n }\n}", "id": 15, "language": "Yul", "name": "#utility.yul" } ], "sourceMap": "57:352:13:-:0;;;81:33;;;-1:-1:-1;;;;;;81:33:13;104:10;81:33;;;57:352;;;;;;;;;;;;;;;;", "deployedSourceMap": "57:352:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;118:36;;;;;;;;;160:25:15;;;148:2;133:18;118:36:13;;;;;;;;81:33;;;;;-1:-1:-1;;;;;81:33:13;;;;;;-1:-1:-1;;;;;360:32:15;;;342:51;;330:2;315:18;81:33:13;196:203:15;304:103:13;;;;;;:::i;:::-;;:::i;:::-;;;216:5;;-1:-1:-1;;;;;216:5:13;202:10;:19;187:101;;;;-1:-1:-1;;;187:101:13;;791:2:15;187:101:13;;;773:21:15;830:2;810:18;;;803:30;869:34;849:18;;;842:62;-1:-1:-1;;;920:18:15;;;913:49;979:19;;187:101:13;;;;;;;;366:24:::1;:36:::0;304:103::o;404:180:15:-;463:6;516:2;504:9;495:7;491:23;487:32;484:52;;;532:1;529;522:12;484:52;-1:-1:-1;555:23:15;;404:180;-1:-1:-1;404:180:15:o", "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Migrations {\n address public owner = msg.sender;\n uint 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(uint completed) public restricted {\n last_completed_migration = completed;\n }\n}\n", "sourcePath": "/home/lance/git/github.com/lalanza808/suchwowx-smart-contract/contracts/Migrations.sol", "ast": { "absolutePath": "project:/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 2201 ] }, "id": 2202, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 2170, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "32:23:13" }, { "abstract": false, "baseContracts": [], "canonicalName": "Migrations", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 2201, "linearizedBaseContracts": [ 2201 ], "name": "Migrations", "nameLocation": "66:10:13", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "8da5cb5b", "id": 2174, "mutability": "mutable", "name": "owner", "nameLocation": "96:5:13", "nodeType": "VariableDeclaration", "scope": 2201, "src": "81:33:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2171, "name": "address", "nodeType": "ElementaryTypeName", "src": "81:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "expression": { "id": 2172, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "104:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "104:10:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "public" }, { "constant": false, "functionSelector": "445df0ac", "id": 2176, "mutability": "mutable", "name": "last_completed_migration", "nameLocation": "130:24:13", "nodeType": "VariableDeclaration", "scope": 2201, "src": "118:36:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2175, "name": "uint", "nodeType": "ElementaryTypeName", "src": "118:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "body": { "id": 2187, "nodeType": "Block", "src": "181:119:13", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 2179, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "202:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2180, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "202:10:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 2181, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2174, "src": "216:5:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "202:19:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", "id": 2183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "229:53:13", "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": 2178, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "187:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2184, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "187:101:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2185, "nodeType": "ExpressionStatement", "src": "187:101:13" }, { "id": 2186, "nodeType": "PlaceholderStatement", "src": "294:1:13" } ] }, "id": 2188, "name": "restricted", "nameLocation": "168:10:13", "nodeType": "ModifierDefinition", "parameters": { "id": 2177, "nodeType": "ParameterList", "parameters": [], "src": "178:2:13" }, "src": "159:141:13", "virtual": false, "visibility": "internal" }, { "body": { "id": 2199, "nodeType": "Block", "src": "360:47:13", "statements": [ { "expression": { "id": 2197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 2195, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2176, "src": "366:24:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 2196, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2190, "src": "393:9:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "366:36:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2198, "nodeType": "ExpressionStatement", "src": "366:36:13" } ] }, "functionSelector": "fdacd576", "id": 2200, "implemented": true, "kind": "function", "modifiers": [ { "id": 2193, "kind": "modifierInvocation", "modifierName": { "id": 2192, "name": "restricted", "nodeType": "IdentifierPath", "referencedDeclaration": 2188, "src": "349:10:13" }, "nodeType": "ModifierInvocation", "src": "349:10:13" } ], "name": "setCompleted", "nameLocation": "313:12:13", "nodeType": "FunctionDefinition", "parameters": { "id": 2191, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2190, "mutability": "mutable", "name": "completed", "nameLocation": "331:9:13", "nodeType": "VariableDeclaration", "scope": 2200, "src": "326:14:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2189, "name": "uint", "nodeType": "ElementaryTypeName", "src": "326:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "325:16:13" }, "returnParameters": { "id": 2194, "nodeType": "ParameterList", "parameters": [], "src": "360:0:13" }, "scope": 2201, "src": "304:103:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 2202, "src": "57:352:13", "usedErrors": [] } ], "src": "32:378:13" }, "legacyAST": { "absolutePath": "project:/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ 2201 ] }, "id": 2202, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 2170, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "32:23:13" }, { "abstract": false, "baseContracts": [], "canonicalName": "Migrations", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 2201, "linearizedBaseContracts": [ 2201 ], "name": "Migrations", "nameLocation": "66:10:13", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "8da5cb5b", "id": 2174, "mutability": "mutable", "name": "owner", "nameLocation": "96:5:13", "nodeType": "VariableDeclaration", "scope": 2201, "src": "81:33:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2171, "name": "address", "nodeType": "ElementaryTypeName", "src": "81:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "expression": { "id": 2172, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "104:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2173, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "104:10:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "public" }, { "constant": false, "functionSelector": "445df0ac", "id": 2176, "mutability": "mutable", "name": "last_completed_migration", "nameLocation": "130:24:13", "nodeType": "VariableDeclaration", "scope": 2201, "src": "118:36:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2175, "name": "uint", "nodeType": "ElementaryTypeName", "src": "118:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "public" }, { "body": { "id": 2187, "nodeType": "Block", "src": "181:119:13", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 2179, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "202:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2180, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "202:10:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 2181, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2174, "src": "216:5:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "202:19:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "546869732066756e6374696f6e206973207265737472696374656420746f2074686520636f6e74726163742773206f776e6572", "id": 2183, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "229:53:13", "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": 2178, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "187:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2184, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "187:101:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2185, "nodeType": "ExpressionStatement", "src": "187:101:13" }, { "id": 2186, "nodeType": "PlaceholderStatement", "src": "294:1:13" } ] }, "id": 2188, "name": "restricted", "nameLocation": "168:10:13", "nodeType": "ModifierDefinition", "parameters": { "id": 2177, "nodeType": "ParameterList", "parameters": [], "src": "178:2:13" }, "src": "159:141:13", "virtual": false, "visibility": "internal" }, { "body": { "id": 2199, "nodeType": "Block", "src": "360:47:13", "statements": [ { "expression": { "id": 2197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 2195, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2176, "src": "366:24:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 2196, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2190, "src": "393:9:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "366:36:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2198, "nodeType": "ExpressionStatement", "src": "366:36:13" } ] }, "functionSelector": "fdacd576", "id": 2200, "implemented": true, "kind": "function", "modifiers": [ { "id": 2193, "kind": "modifierInvocation", "modifierName": { "id": 2192, "name": "restricted", "nodeType": "IdentifierPath", "referencedDeclaration": 2188, "src": "349:10:13" }, "nodeType": "ModifierInvocation", "src": "349:10:13" } ], "name": "setCompleted", "nameLocation": "313:12:13", "nodeType": "FunctionDefinition", "parameters": { "id": 2191, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2190, "mutability": "mutable", "name": "completed", "nameLocation": "331:9:13", "nodeType": "VariableDeclaration", "scope": 2200, "src": "326:14:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2189, "name": "uint", "nodeType": "ElementaryTypeName", "src": "326:4:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "325:16:13" }, "returnParameters": { "id": 2194, "nodeType": "ParameterList", "parameters": [], "src": "360:0:13" }, "scope": 2201, "src": "304:103:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 2202, "src": "57:352:13", "usedErrors": [] } ], "src": "32:378:13" }, "compiler": { "name": "solc", "version": "0.8.11+commit.d7f03943.Emscripten.clang" }, "networks": { "1": { "events": {}, "links": {}, "address": "0xC4bCB09d91A798D720EFE3924f0653afFF78B08C", "transactionHash": "0xe092bd63d5edabf6debe8eb74d224b6b6d62f35b90abb7598504870c3963e9c8" } }, "schemaVersion": "3.4.4", "updatedAt": "2021-12-29T22:22:12.449Z", "networkType": "ethereum", "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }