@etherisc/gif-contracts
Version:
This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.
2,037 lines (2,036 loc) • 62 kB
JSON
{
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": "_newAddress",
"type": "address"
}
],
"name": "upgrade",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"allSourcePaths": {
"65": "contracts/Migrations.sol"
},
"ast": {
"absolutePath": "contracts/Migrations.sol",
"exportedSymbols": {
"Migrations": [
57
]
},
"id": 58,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:65"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 57,
"linearizedBaseContracts": [
57
],
"name": "Migrations",
"nameLocation": "72:10:65",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "8da5cb5b",
"id": 3,
"mutability": "mutable",
"name": "owner",
"nameLocation": "104:5:65",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "89:20:65",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "89:7:65",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "445df0ac",
"id": 5,
"mutability": "mutable",
"name": "last_completed_migration",
"nameLocation": "130:24:65",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "115:39:65",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "115:7:65",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 13,
"nodeType": "Block",
"src": "199:35:65",
"statements": [
{
"expression": {
"id": 11,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "209:5:65",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"expression": {
"id": 9,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "217:3:65",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "217:10:65",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "209:18:65",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 12,
"nodeType": "ExpressionStatement",
"src": "209:18:65"
}
]
},
"id": 14,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [],
"src": "196:2:65"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "199:0:65"
},
"scope": 57,
"src": "185:49:65",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 22,
"nodeType": "Block",
"src": "262:43:65",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 16,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "276:3:65",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 17,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "276:10:65",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"id": 18,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "290:5:65",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "276:19:65",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 21,
"nodeType": "IfStatement",
"src": "272:26:65",
"trueBody": {
"id": 20,
"nodeType": "PlaceholderStatement",
"src": "297:1:65"
}
}
]
},
"id": 23,
"name": "restricted",
"nameLocation": "249:10:65",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 15,
"nodeType": "ParameterList",
"parameters": [],
"src": "259:2:65"
},
"src": "240:65:65",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 34,
"nodeType": "Block",
"src": "371:54:65",
"statements": [
{
"expression": {
"id": 32,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 30,
"name": "last_completed_migration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "381:24:65",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 31,
"name": "_completed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 25,
"src": "408:10:65",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "381:37:65",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 33,
"nodeType": "ExpressionStatement",
"src": "381:37:65"
}
]
},
"functionSelector": "fdacd576",
"id": 35,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 28,
"modifierName": {
"id": 27,
"name": "restricted",
"nodeType": "IdentifierPath",
"referencedDeclaration": 23,
"src": "360:10:65"
},
"nodeType": "ModifierInvocation",
"src": "360:10:65"
}
],
"name": "setCompleted",
"nameLocation": "320:12:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 25,
"mutability": "mutable",
"name": "_completed",
"nameLocation": "341:10:65",
"nodeType": "VariableDeclaration",
"scope": 35,
"src": "333:18:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 24,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "333:7:65",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "332:20:65"
},
"returnParameters": {
"id": 29,
"nodeType": "ParameterList",
"parameters": [],
"src": "371:0:65"
},
"scope": 57,
"src": "311:114:65",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 55,
"nodeType": "Block",
"src": "487:119:65",
"statements": [
{
"assignments": [
44
],
"declarations": [
{
"constant": false,
"id": 44,
"mutability": "mutable",
"name": "upgraded",
"nameLocation": "508:8:65",
"nodeType": "VariableDeclaration",
"scope": 55,
"src": "497:19:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$57",
"typeString": "contract Migrations"
},
"typeName": {
"id": 43,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 42,
"name": "Migrations",
"nodeType": "IdentifierPath",
"referencedDeclaration": 57,
"src": "497:10:65"
},
"referencedDeclaration": 57,
"src": "497:10:65",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$57",
"typeString": "contract Migrations"
}
},
"visibility": "internal"
}
],
"id": 48,
"initialValue": {
"arguments": [
{
"id": 46,
"name": "_newAddress",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 37,
"src": "530:11:65",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 45,
"name": "Migrations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 57,
"src": "519:10:65",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Migrations_$57_$",
"typeString": "type(contract Migrations)"
}
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "519:23:65",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$57",
"typeString": "contract Migrations"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "497:45:65"
},
{
"expression": {
"arguments": [
{
"id": 52,
"name": "last_completed_migration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "574:24:65",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 49,
"name": "upgraded",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 44,
"src": "552:8:65",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Migrations_$57",
"typeString": "contract Migrations"
}
},
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "setCompleted",
"nodeType": "MemberAccess",
"referencedDeclaration": 35,
"src": "552:21:65",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
"typeString": "function (uint256) external"
}
},
"id": 53,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "552:47:65",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 54,
"nodeType": "ExpressionStatement",
"src": "552:47:65"
}
]
},
"functionSelector": "0900f010",
"id": 56,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 40,
"modifierName": {
"id": 39,
"name": "restricted",
"nodeType": "IdentifierPath",
"referencedDeclaration": 23,
"src": "476:10:65"
},
"nodeType": "ModifierInvocation",
"src": "476:10:65"
}
],
"name": "upgrade",
"nameLocation": "440:7:65",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 38,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 37,
"mutability": "mutable",
"name": "_newAddress",
"nameLocation": "456:11:65",
"nodeType": "VariableDeclaration",
"scope": 56,
"src": "448:19:65",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 36,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "448:7:65",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "447:21:65"
},
"returnParameters": {
"id": 41,
"nodeType": "ParameterList",
"parameters": [],
"src": "487:0:65"
},
"scope": 57,
"src": "431:175:65",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 58,
"src": "63:545:65"
}
],
"src": "39:570:65"
},
"bytecode": "608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101d1806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610082578063fdacd576146100ad575b600080fd5b61006461005f366004610155565b6100c0565b005b61006f60015481565b6040519081526020015b60405180910390f35b600054610095906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100646100bb366004610183565b61013d565b6000546001600160a01b031633141561013a57600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916101069160040190815260200190565b600060405180830381600087803b15801561012057600080fd5b505af1158015610134573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031633141561013a57600155565b600060208284031215610166578081fd5b81356001600160a01b038116811461017c578182fd5b9392505050565b600060208284031215610194578081fd5b503591905056fea264697066735822122052378155a84a206e1e135b6c19b6a9d992f7a2a046ba0e8f8a427e6bdaa00b9c64736f6c63430008020033",
"bytecodeSha1": "1fb9ca8d1635310be750f56272887b454dad300a",
"compiler": {
"evm_version": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"version": "0.8.2+commit.661d1103"
},
"contractName": "Migrations",
"coverageMap": {
"branches": {
"65": {}
},
"statements": {
"65": {
"Migrations.setCompleted": {
"1": [
381,
418
]
},
"Migrations.upgrade": {
"0": [
552,
599
]
}
}
}
},
"dependencies": [],
"deployedBytecode": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100665780638da5cb5b14610082578063fdacd576146100ad575b600080fd5b61006461005f366004610155565b6100c0565b005b61006f60015481565b6040519081526020015b60405180910390f35b600054610095906001600160a01b031681565b6040516001600160a01b039091168152602001610079565b6100646100bb366004610183565b61013d565b6000546001600160a01b031633141561013a57600154604051637ed66abb60e11b815282916001600160a01b0383169163fdacd576916101069160040190815260200190565b600060405180830381600087803b15801561012057600080fd5b505af1158015610134573d6000803e3d6000fd5b50505050505b50565b6000546001600160a01b031633141561013a57600155565b600060208284031215610166578081fd5b81356001600160a01b038116811461017c578182fd5b9392505050565b600060208284031215610194578081fd5b503591905056fea264697066735822122052378155a84a206e1e135b6c19b6a9d992f7a2a046ba0e8f8a427e6bdaa00b9c64736f6c63430008020033",
"deployedSourceMap": "63:545:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;431:175;;;;;;:::i;:::-;;:::i;:::-;;115:39;;;;;;;;;874:25:103;;;862:2;847:18;115:39:65;;;;;;;;89:20;;;;;-1:-1:-1;;;;;89:20:65;;;;;;-1:-1:-1;;;;;684:32:103;;;666:51;;654:2;639:18;89:20:65;621:102:103;311:114:65;;;;;;:::i;:::-;;:::i;431:175::-;290:5;;-1:-1:-1;;;;;290:5:65;276:10;:19;272:26;;;574:24:::1;::::0;552:47:::1;::::0;-1:-1:-1;;;552:47:65;;530:11;;-1:-1:-1;;;;;552:21:65;::::1;::::0;::::1;::::0;:47:::1;::::0;::::1;;874:25:103::0;;;862:2;847:18;;829:76;552:47:65::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;297:1;272:26:::0;431:175;:::o;311:114::-;290:5;;-1:-1:-1;;;;;290:5:65;276:10;:19;272:26;;;381:24:::1;:37:::0;311:114::o;14:306:103:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;178:23;;-1:-1:-1;;;;;230:31:103;;220:42;;210:2;;281:6;273;266:22;210:2;309:5;84:236;-1:-1:-1;;;84:236:103:o;325:190::-;;437:2;425:9;416:7;412:23;408:32;405:2;;;458:6;450;443:22;405:2;-1:-1:-1;486:23:103;;395:120;-1:-1:-1;395:120:103:o",
"language": "Solidity",
"natspec": {
"kind": "dev",
"methods": {},
"version": 1
},
"offset": [
63,
608
],
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x900F010 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x445DF0AC EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0xFDACD576 EQ PUSH2 0xAD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x155 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6F PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x95 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x79 JUMP JUMPDEST PUSH2 0x64 PUSH2 0xBB CALLDATASIZE PUSH1 0x4 PUSH2 0x183 JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO PUSH2 0x13A JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x7ED66ABB PUSH1 0xE1 SHL DUP2 MSTORE DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP2 PUSH4 0xFDACD576 SWAP2 PUSH2 0x106 SWAP2 PUSH1 0x4 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x134 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ ISZERO PUSH2 0x13A JUMPI PUSH1 0x1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x166 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x17C JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x194 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSTORE CALLDATACOPY DUP2 SSTORE 0xA8 0x4A KECCAK256 PUSH15 0x1E135B6C19B6A9D992F7A2A046BA0E DUP16 DUP11 TIMESTAMP PUSH31 0x6BDAA00B9C64736F6C63430008020033000000000000000000000000000000 ",
"pcMap": {
"0": {
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0x80"
},
"2": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0x40"
},
"4": {
"fn": null,
"offset": [
63,
608
],
"op": "MSTORE",
"path": "65"
},
"5": {
"fn": null,
"offset": [
63,
608
],
"op": "CALLVALUE",
"path": "65"
},
"6": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"7": {
"fn": null,
"offset": [
63,
608
],
"op": "ISZERO",
"path": "65"
},
"8": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH2",
"path": "65",
"value": "0x10"
},
"11": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPI",
"path": "65"
},
"12": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0x0"
},
"14": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"15": {
"dev": "Cannot send ether to nonpayable function",
"fn": null,
"offset": [
63,
608
],
"op": "REVERT",
"path": "65"
},
"16": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPDEST",
"path": "65"
},
"17": {
"fn": null,
"offset": [
63,
608
],
"op": "POP",
"path": "65"
},
"18": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0x4"
},
"20": {
"fn": null,
"offset": [
63,
608
],
"op": "CALLDATASIZE",
"path": "65"
},
"21": {
"fn": null,
"offset": [
63,
608
],
"op": "LT",
"path": "65"
},
"22": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH2",
"path": "65",
"value": "0x4C"
},
"25": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPI",
"path": "65"
},
"26": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0x0"
},
"28": {
"fn": null,
"offset": [
63,
608
],
"op": "CALLDATALOAD",
"path": "65"
},
"29": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0xE0"
},
"31": {
"fn": null,
"offset": [
63,
608
],
"op": "SHR",
"path": "65"
},
"32": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"33": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH4",
"path": "65",
"value": "0x900F010"
},
"38": {
"fn": null,
"offset": [
63,
608
],
"op": "EQ",
"path": "65"
},
"39": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH2",
"path": "65",
"value": "0x51"
},
"42": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPI",
"path": "65"
},
"43": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"44": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH4",
"path": "65",
"value": "0x445DF0AC"
},
"49": {
"fn": null,
"offset": [
63,
608
],
"op": "EQ",
"path": "65"
},
"50": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH2",
"path": "65",
"value": "0x66"
},
"53": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPI",
"path": "65"
},
"54": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"55": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH4",
"path": "65",
"value": "0x8DA5CB5B"
},
"60": {
"fn": null,
"offset": [
63,
608
],
"op": "EQ",
"path": "65"
},
"61": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH2",
"path": "65",
"value": "0x82"
},
"64": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPI",
"path": "65"
},
"65": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"66": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH4",
"path": "65",
"value": "0xFDACD576"
},
"71": {
"fn": null,
"offset": [
63,
608
],
"op": "EQ",
"path": "65"
},
"72": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH2",
"path": "65",
"value": "0xAD"
},
"75": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPI",
"path": "65"
},
"76": {
"fn": null,
"offset": [
63,
608
],
"op": "JUMPDEST",
"path": "65"
},
"77": {
"fn": null,
"offset": [
63,
608
],
"op": "PUSH1",
"path": "65",
"value": "0x0"
},
"79": {
"fn": null,
"offset": [
63,
608
],
"op": "DUP1",
"path": "65"
},
"80": {
"first_revert": true,
"fn": null,
"offset": [
63,
608
],
"op": "REVERT",
"path": "65"
},
"81": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "JUMPDEST",
"path": "65"
},
"82": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "PUSH2",
"path": "65",
"value": "0x64"
},
"85": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "PUSH2",
"path": "65",
"value": "0x5F"
},
"88": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "CALLDATASIZE",
"path": "65"
},
"89": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "PUSH1",
"path": "65",
"value": "0x4"
},
"91": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "PUSH2",
"path": "65",
"value": "0x155"
},
"94": {
"fn": "Migrations.upgrade",
"jump": "i",
"offset": [
431,
606
],
"op": "JUMP",
"path": "65"
},
"95": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "JUMPDEST",
"path": "65"
},
"96": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "PUSH2",
"path": "65",
"value": "0xC0"
},
"99": {
"fn": "Migrations.upgrade",
"jump": "i",
"offset": [
431,
606
],
"op": "JUMP",
"path": "65"
},
"100": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "JUMPDEST",
"path": "65"
},
"101": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "STOP",
"path": "65"
},
"102": {
"offset": [
115,
154
],
"op": "JUMPDEST",
"path": "65"
},
"103": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "PUSH2",
"path": "65",
"value": "0x6F"
},
"106": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "PUSH1",
"path": "65",
"value": "0x1"
},
"108": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "SLOAD",
"path": "65"
},
"109": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "DUP2",
"path": "65"
},
"110": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "JUMP",
"path": "65"
},
"111": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "JUMPDEST",
"path": "65"
},
"112": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "PUSH1",
"path": "65",
"value": "0x40"
},
"114": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "MLOAD",
"path": "65"
},
"115": {
"op": "SWAP1"
},
"116": {
"op": "DUP2"
},
"117": {
"op": "MSTORE"
},
"118": {
"op": "PUSH1",
"value": "0x20"
},
"120": {
"op": "ADD"
},
"121": {
"offset": [
115,
154
],
"op": "JUMPDEST",
"path": "65"
},
"122": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "PUSH1",
"path": "65",
"value": "0x40"
},
"124": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "MLOAD",
"path": "65"
},
"125": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "DUP1",
"path": "65"
},
"126": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "SWAP2",
"path": "65"
},
"127": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "SUB",
"path": "65"
},
"128": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "SWAP1",
"path": "65"
},
"129": {
"fn": "Migrations.upgrade",
"offset": [
115,
154
],
"op": "RETURN",
"path": "65"
},
"130": {
"offset": [
89,
109
],
"op": "JUMPDEST",
"path": "65"
},
"131": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "PUSH1",
"path": "65",
"value": "0x0"
},
"133": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "SLOAD",
"path": "65"
},
"134": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "PUSH2",
"path": "65",
"value": "0x95"
},
"137": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "SWAP1",
"path": "65"
},
"138": {
"op": "PUSH1",
"value": "0x1"
},
"140": {
"op": "PUSH1",
"value": "0x1"
},
"142": {
"op": "PUSH1",
"value": "0xA0"
},
"144": {
"op": "SHL"
},
"145": {
"op": "SUB"
},
"146": {
"offset": [
89,
109
],
"op": "AND",
"path": "65"
},
"147": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "DUP2",
"path": "65"
},
"148": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "JUMP",
"path": "65"
},
"149": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "JUMPDEST",
"path": "65"
},
"150": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "PUSH1",
"path": "65",
"value": "0x40"
},
"152": {
"fn": "Migrations.upgrade",
"offset": [
89,
109
],
"op": "MLOAD",
"path": "65"
},
"153": {
"op": "PUSH1",
"value": "0x1"
},
"155": {
"op": "PUSH1",
"value": "0x1"
},
"157": {
"op": "PUSH1",
"value": "0xA0"
},
"159": {
"op": "SHL"
},
"160": {
"op": "SUB"
},
"161": {
"op": "SWAP1"
},
"162": {
"op": "SWAP2"
},
"163": {
"op": "AND"
},
"164": {
"op": "DUP2"
},
"165": {
"op": "MSTORE"
},
"166": {
"op": "PUSH1",
"value": "0x20"
},
"168": {
"op": "ADD"
},
"169": {
"offset": [
89,
109
],
"op": "PUSH2",
"path": "65",
"value": "0x79"
},
"172": {
"op": "JUMP"
},
"173": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "JUMPDEST",
"path": "65"
},
"174": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "PUSH2",
"path": "65",
"value": "0x64"
},
"177": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "PUSH2",
"path": "65",
"value": "0xBB"
},
"180": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "CALLDATASIZE",
"path": "65"
},
"181": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "PUSH1",
"path": "65",
"value": "0x4"
},
"183": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "PUSH2",
"path": "65",
"value": "0x183"
},
"186": {
"fn": "Migrations.setCompleted",
"jump": "i",
"offset": [
311,
425
],
"op": "JUMP",
"path": "65"
},
"187": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "JUMPDEST",
"path": "65"
},
"188": {
"fn": "Migrations.setCompleted",
"offset": [
311,
425
],
"op": "PUSH2",
"path": "65",
"value": "0x13D"
},
"191": {
"fn": "Migrations.setCompleted",
"jump": "i",
"offset": [
311,
425
],
"op": "JUMP",
"path": "65"
},
"192": {
"fn": "Migrations.upgrade",
"offset": [
431,
606
],
"op": "JUMPDEST",
"path": "65"
},
"193": {
"offset": [
290,
295
],
"op": "PUSH1",
"path": "65",
"value": "0x0"
},
"195": {
"fn": "Migrations.upgrade",
"offset": [
290,
295
],
"op": "SLOAD",
"path": "65"
},
"196": {
"op": "PUSH1",
"value": "0x1"
},
"198": {
"op": "PUSH1",
"value": "0x1"
},
"200": {
"op": "PUSH1",
"value": "0xA0"
},
"202": {
"op": "SHL"
},
"203": {
"op": "SUB"
},
"204": {
"offset": [
290,
295
],
"op": "AND",
"path": "65"
},
"205": {
"offset": [
276,
286
],
"op": "CALLER",
"path": "65"
},
"206": {
"offset": [
276,
295
],
"op": "EQ",
"path": "65"
},
"207": {
"offset": [
272,
298
],
"op": "ISZERO",
"path": "65"
},
"208": {
"fn": "Migrations.upgrade",
"offset": [
272,
298
],
"op": "PUSH2",
"path": "65",
"value": "0x13A"
},
"211": {
"offset": [
272,
298
],
"op": "JUMPI",
"path": "65"
},
"212": {
"fn": "Migrations.upgrade",
"offset": [
574,
598
],
"op": "PUSH1",
"path": "65",
"statement": 0,
"value": "0x1"
},
"214": {
"fn": "Migrations.upgrade",
"offset": [
574,
598
],
"op": "SLOAD",
"path": "65"
},
"215": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "PUSH1",
"path": "65",
"value": "0x40"
},
"217": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "MLOAD",
"path": "65"
},
"218": {
"op": "PUSH4",
"value": "0x7ED66ABB"
},
"223": {
"op": "PUSH1",
"value": "0xE1"
},
"225": {
"op": "SHL"
},
"226": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "DUP2",
"path": "65"
},
"227": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "MSTORE",
"path": "65"
},
"228": {
"fn": "Migrations.upgrade",
"offset": [
530,
541
],
"op": "DUP3",
"path": "65"
},
"229": {
"fn": "Migrations.upgrade",
"offset": [
530,
541
],
"op": "SWAP2",
"path": "65"
},
"230": {
"op": "PUSH1",
"value": "0x1"
},
"232": {
"op": "PUSH1",
"value": "0x1"
},
"234": {
"op": "PUSH1",
"value": "0xA0"
},
"236": {
"op": "SHL"
},
"237": {
"op": "SUB"
},
"238": {
"fn": "Migrations.upgrade",
"offset": [
552,
573
],
"op": "DUP4",
"path": "65"
},
"239": {
"fn": "Migrations.upgrade",
"offset": [
552,
573
],
"op": "AND",
"path": "65"
},
"240": {
"fn": "Migrations.upgrade",
"offset": [
552,
573
],
"op": "SWAP2",
"path": "65"
},
"241": {
"fn": "Migrations.upgrade",
"offset": [
552,
573
],
"op": "PUSH4",
"path": "65",
"value": "0xFDACD576"
},
"246": {
"fn": "Migrations.upgrade",
"offset": [
552,
573
],
"op": "SWAP2",
"path": "65"
},
"247": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "PUSH2",
"path": "65",
"value": "0x106"
},
"250": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "SWAP2",
"path": "65"
},
"251": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "PUSH1",
"path": "65",
"value": "0x4"
},
"253": {
"fn": "Migrations.upgrade",
"offset": [
552,
599
],
"op": "ADD",
"path": "65"
},
"254": {
"op": "SWAP1"
},
"255": {
"op": "DUP2"
},
"256": {
"op": "MSTORE"
},
"257": {
"op": "PUSH1",
"value": "0x20"
},
"259": {
"op": "ADD"
},
"260": {
"op": "SWAP1"
},
"261": {
"op": "JUMP"
},
"262": {
"fn": "Migrations.upgrade",
"offset": [
552,
599