UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

1,989 lines 48.6 kB
{ "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "contractName", "type": "bytes32" } ], "name": "getContract", "outputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "instanceService", "type": "address" } ], "name": "setInstanceServiceAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "38": "contracts/registry/IInstanceRegistryFacade.sol", "62": "contracts/test/MockInstanceRegistry.sol" }, "ast": { "absolutePath": "contracts/test/MockInstanceRegistry.sol", "exportedSymbols": { "IInstanceRegistryFacade": [ 4190 ], "MockInstanceRegistry": [ 10943 ] }, "id": 10944, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 10906, "literals": [ "solidity", "^", "0.8", ".19" ], "nodeType": "PragmaDirective", "src": "39:24:62" }, { "absolutePath": "contracts/registry/IInstanceRegistryFacade.sol", "file": "../registry/IInstanceRegistryFacade.sol", "id": 10908, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 10944, "sourceUnit": 4191, "src": "65:80:62", "symbolAliases": [ { "foreign": { "id": 10907, "name": "IInstanceRegistryFacade", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4190, "src": "73:23:62", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 10909, "name": "IInstanceRegistryFacade", "nameLocations": [ "180:23:62" ], "nodeType": "IdentifierPath", "referencedDeclaration": 4190, "src": "180:23:62" }, "id": 10910, "nodeType": "InheritanceSpecifier", "src": "180:23:62" } ], "canonicalName": "MockInstanceRegistry", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 10943, "linearizedBaseContracts": [ 10943, 4190 ], "name": "MockInstanceRegistry", "nameLocation": "156:20:62", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 10912, "mutability": "mutable", "name": "_instanceService", "nameLocation": "227:16:62", "nodeType": "VariableDeclaration", "scope": 10943, "src": "211:32:62", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 10911, "name": "address", "nodeType": "ElementaryTypeName", "src": "211:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "private" }, { "body": { "id": 10921, "nodeType": "Block", "src": "319:51:62", "statements": [ { "expression": { "id": 10919, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 10917, "name": "_instanceService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10912, "src": "329:16:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 10918, "name": "instanceService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10914, "src": "348:15:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "329:34:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 10920, "nodeType": "ExpressionStatement", "src": "329:34:62" } ] }, "functionSelector": "e8f4ce0f", "id": 10922, "implemented": true, "kind": "function", "modifiers": [], "name": "setInstanceServiceAddress", "nameLocation": "259:25:62", "nodeType": "FunctionDefinition", "parameters": { "id": 10915, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10914, "mutability": "mutable", "name": "instanceService", "nameLocation": "293:15:62", "nodeType": "VariableDeclaration", "scope": 10922, "src": "285:23:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 10913, "name": "address", "nodeType": "ElementaryTypeName", "src": "285:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "284:25:62" }, "returnParameters": { "id": 10916, "nodeType": "ParameterList", "parameters": [], "src": "319:0:62" }, "scope": 10943, "src": "250:120:62", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "baseFunctions": [ 4189 ], "body": { "id": 10941, "nodeType": "Block", "src": "495:142:62", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 10935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 10930, "name": "contractName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10924, "src": "513:12:62", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "496e7374616e636553657276696365", "id": 10933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "537:17:62", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9d0370d7b33c0a7e946fd67f2013156c598b4d6a70b1490bc73aacf4dc1a6f52", "typeString": "literal_string \"InstanceService\"" }, "value": "InstanceService" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_9d0370d7b33c0a7e946fd67f2013156c598b4d6a70b1490bc73aacf4dc1a6f52", "typeString": "literal_string \"InstanceService\"" } ], "id": 10932, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "529:7:62", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 10931, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "529:7:62", "typeDescriptions": {} } }, "id": 10934, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "529:26:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "513:42:62", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a4452472d3030313a434f4e54524143545f4e4f545f52454749535445524544", "id": 10936, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "557:39:62", "typeDescriptions": { "typeIdentifier": "t_stringliteral_522d00c6fa061f2340d8ba0a3ea3e5e0f731b0f0fac145a91bb23bd528a3eb08", "typeString": "literal_string \"ERROR:DRG-001:CONTRACT_NOT_REGISTERED\"" }, "value": "ERROR:DRG-001:CONTRACT_NOT_REGISTERED" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_522d00c6fa061f2340d8ba0a3ea3e5e0f731b0f0fac145a91bb23bd528a3eb08", "typeString": "literal_string \"ERROR:DRG-001:CONTRACT_NOT_REGISTERED\"" } ], "id": 10929, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "505:7:62", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 10937, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "505:92:62", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 10938, "nodeType": "ExpressionStatement", "src": "505:92:62" }, { "expression": { "id": 10939, "name": "_instanceService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10912, "src": "614:16:62", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 10928, "id": 10940, "nodeType": "Return", "src": "607:23:62" } ] }, "functionSelector": "e16c7d98", "id": 10942, "implemented": true, "kind": "function", "modifiers": [], "name": "getContract", "nameLocation": "385:11:62", "nodeType": "FunctionDefinition", "parameters": { "id": 10925, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10924, "mutability": "mutable", "name": "contractName", "nameLocation": "405:12:62", "nodeType": "VariableDeclaration", "scope": 10942, "src": "397:20:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 10923, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "397:7:62", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "396:22:62" }, "returnParameters": { "id": 10928, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10927, "mutability": "mutable", "name": "contractAddress", "nameLocation": "474:15:62", "nodeType": "VariableDeclaration", "scope": 10942, "src": "466:23:62", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 10926, "name": "address", "nodeType": "ElementaryTypeName", "src": "466:7:62", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "465:25:62" }, "scope": 10943, "src": "376:261:62", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 10944, "src": "147:492:62", "usedErrors": [] } ], "src": "39:601:62" }, "bytecode": "608060405234801561001057600080fd5b506101a1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063e16c7d981461003b578063e8f4ce0f1461006a575b600080fd5b61004e610049366004610122565b61009c565b6040516001600160a01b03909116815260200160405180910390f35b61009a61007836600461013b565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b005b60006e496e7374616e63655365727669636560881b82146101115760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4452472d3030313a434f4e54524143545f4e4f545f5245474953604482015264151154915160da1b606482015260840160405180910390fd5b50506000546001600160a01b031690565b60006020828403121561013457600080fd5b5035919050565b60006020828403121561014d57600080fd5b81356001600160a01b038116811461016457600080fd5b939250505056fea26469706673582212206177c75a5f89c4c198798418d4202a1755336576fef61eb30648e8e35bb96df964736f6c63430008130033", "bytecodeSha1": "f5d2982319c59078320f70d1620739e2652a2ea0", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.19+commit.7dd6d404" }, "contractName": "MockInstanceRegistry", "coverageMap": { "branches": { "38": {}, "62": { "MockInstanceRegistry.getContract": { "3": [ 513, 555, true ] } } }, "statements": { "38": {}, "62": { "MockInstanceRegistry.getContract": { "1": [ 505, 597 ], "2": [ 607, 630 ] }, "MockInstanceRegistry.setInstanceServiceAddress": { "0": [ 329, 363 ] } } } }, "dependencies": [ "IInstanceRegistryFacade" ], "deployedBytecode": "608060405234801561001057600080fd5b50600436106100365760003560e01c8063e16c7d981461003b578063e8f4ce0f1461006a575b600080fd5b61004e610049366004610122565b61009c565b6040516001600160a01b03909116815260200160405180910390f35b61009a61007836600461013b565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b005b60006e496e7374616e63655365727669636560881b82146101115760405162461bcd60e51b815260206004820152602560248201527f4552524f523a4452472d3030313a434f4e54524143545f4e4f545f5245474953604482015264151154915160da1b606482015260840160405180910390fd5b50506000546001600160a01b031690565b60006020828403121561013457600080fd5b5035919050565b60006020828403121561014d57600080fd5b81356001600160a01b038116811461016457600080fd5b939250505056fea26469706673582212206177c75a5f89c4c198798418d4202a1755336576fef61eb30648e8e35bb96df964736f6c63430008130033", "deployedSourceMap": "147:492:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:261;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;363:32:67;;;345:51;;333:2;318:18;376:261:62;;;;;;;250:120;;;;;;:::i;:::-;329:16;:34;;-1:-1:-1;;;;;;329:34:62;-1:-1:-1;;;;;329:34:62;;;;;;;;;;250:120;;;376:261;466:23;-1:-1:-1;;;513:12:62;:42;505:92;;;;-1:-1:-1;;;505:92:62;;900:2:67;505:92:62;;;882:21:67;939:2;919:18;;;912:30;978:34;958:18;;;951:62;-1:-1:-1;;;1029:18:67;;;1022:35;1074:19;;505:92:62;;;;;;;;-1:-1:-1;;614:16:62;;-1:-1:-1;;;;;614:16:62;;376:261::o;14:180:67:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:67;;14:180;-1:-1:-1;14:180:67:o;407:286::-;466:6;519:2;507:9;498:7;494:23;490:32;487:52;;;535:1;532;525:12;487:52;561:23;;-1:-1:-1;;;;;613:31:67;;603:42;;593:70;;659:1;656;649:12;593:70;682:5;407:286;-1:-1:-1;;;407:286:67:o", "language": "Solidity", "natspec": { "kind": "dev", "methods": {}, "version": 1 }, "offset": [ 147, 639 ], "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xE16C7D98 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0xE8F4CE0F EQ PUSH2 0x6A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x49 CALLDATASIZE PUSH1 0x4 PUSH2 0x122 JUMP JUMPDEST PUSH2 0x9C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9A PUSH2 0x78 CALLDATASIZE PUSH1 0x4 PUSH2 0x13B JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH15 0x496E7374616E636553657276696365 PUSH1 0x88 SHL DUP3 EQ PUSH2 0x111 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552524F523A4452472D3030313A434F4E54524143545F4E4F545F5245474953 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x1511549151 PUSH1 0xDA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x134 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x14D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH2 0x77C7 GAS 0x5F DUP10 0xC4 0xC1 SWAP9 PUSH26 0x8418D4202A1755336576FEF61EB30648E8E35BB96DF964736F6C PUSH4 0x43000813 STOP CALLER ", "pcMap": { "0": { "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0x80" }, "2": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0x40" }, "4": { "fn": null, "offset": [ 147, 639 ], "op": "MSTORE", "path": "62" }, "5": { "fn": null, "offset": [ 147, 639 ], "op": "CALLVALUE", "path": "62" }, "6": { "fn": null, "offset": [ 147, 639 ], "op": "DUP1", "path": "62" }, "7": { "fn": null, "offset": [ 147, 639 ], "op": "ISZERO", "path": "62" }, "8": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH2", "path": "62", "value": "0x10" }, "11": { "fn": null, "offset": [ 147, 639 ], "op": "JUMPI", "path": "62" }, "12": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0x0" }, "14": { "fn": null, "offset": [ 147, 639 ], "op": "DUP1", "path": "62" }, "15": { "dev": "Cannot send ether to nonpayable function", "fn": null, "offset": [ 147, 639 ], "op": "REVERT", "path": "62" }, "16": { "fn": null, "offset": [ 147, 639 ], "op": "JUMPDEST", "path": "62" }, "17": { "fn": null, "offset": [ 147, 639 ], "op": "POP", "path": "62" }, "18": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0x4" }, "20": { "fn": null, "offset": [ 147, 639 ], "op": "CALLDATASIZE", "path": "62" }, "21": { "fn": null, "offset": [ 147, 639 ], "op": "LT", "path": "62" }, "22": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH2", "path": "62", "value": "0x36" }, "25": { "fn": null, "offset": [ 147, 639 ], "op": "JUMPI", "path": "62" }, "26": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0x0" }, "28": { "fn": null, "offset": [ 147, 639 ], "op": "CALLDATALOAD", "path": "62" }, "29": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0xE0" }, "31": { "fn": null, "offset": [ 147, 639 ], "op": "SHR", "path": "62" }, "32": { "fn": null, "offset": [ 147, 639 ], "op": "DUP1", "path": "62" }, "33": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH4", "path": "62", "value": "0xE16C7D98" }, "38": { "fn": null, "offset": [ 147, 639 ], "op": "EQ", "path": "62" }, "39": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH2", "path": "62", "value": "0x3B" }, "42": { "fn": null, "offset": [ 147, 639 ], "op": "JUMPI", "path": "62" }, "43": { "fn": null, "offset": [ 147, 639 ], "op": "DUP1", "path": "62" }, "44": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH4", "path": "62", "value": "0xE8F4CE0F" }, "49": { "fn": null, "offset": [ 147, 639 ], "op": "EQ", "path": "62" }, "50": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH2", "path": "62", "value": "0x6A" }, "53": { "fn": null, "offset": [ 147, 639 ], "op": "JUMPI", "path": "62" }, "54": { "fn": null, "offset": [ 147, 639 ], "op": "JUMPDEST", "path": "62" }, "55": { "fn": null, "offset": [ 147, 639 ], "op": "PUSH1", "path": "62", "value": "0x0" }, "57": { "fn": null, "offset": [ 147, 639 ], "op": "DUP1", "path": "62" }, "58": { "first_revert": true, "fn": null, "offset": [ 147, 639 ], "op": "REVERT", "path": "62" }, "59": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "JUMPDEST", "path": "62" }, "60": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH2", "path": "62", "value": "0x4E" }, "63": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH2", "path": "62", "value": "0x49" }, "66": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "CALLDATASIZE", "path": "62" }, "67": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH1", "path": "62", "value": "0x4" }, "69": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH2", "path": "62", "value": "0x122" }, "72": { "fn": "MockInstanceRegistry.getContract", "jump": "i", "offset": [ 376, 637 ], "op": "JUMP", "path": "62" }, "73": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "JUMPDEST", "path": "62" }, "74": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH2", "path": "62", "value": "0x9C" }, "77": { "fn": "MockInstanceRegistry.getContract", "jump": "i", "offset": [ 376, 637 ], "op": "JUMP", "path": "62" }, "78": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "JUMPDEST", "path": "62" }, "79": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH1", "path": "62", "value": "0x40" }, "81": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "MLOAD", "path": "62" }, "82": { "op": "PUSH1", "value": "0x1" }, "84": { "op": "PUSH1", "value": "0x1" }, "86": { "op": "PUSH1", "value": "0xA0" }, "88": { "op": "SHL" }, "89": { "op": "SUB" }, "90": { "op": "SWAP1" }, "91": { "op": "SWAP2" }, "92": { "op": "AND" }, "93": { "op": "DUP2" }, "94": { "op": "MSTORE" }, "95": { "op": "PUSH1", "value": "0x20" }, "97": { "op": "ADD" }, "98": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "PUSH1", "path": "62", "value": "0x40" }, "100": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "MLOAD", "path": "62" }, "101": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "DUP1", "path": "62" }, "102": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "SWAP2", "path": "62" }, "103": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "SUB", "path": "62" }, "104": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "SWAP1", "path": "62" }, "105": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "RETURN", "path": "62" }, "106": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "JUMPDEST", "path": "62" }, "107": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "PUSH2", "path": "62", "value": "0x9A" }, "110": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "PUSH2", "path": "62", "value": "0x78" }, "113": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "CALLDATASIZE", "path": "62" }, "114": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "PUSH1", "path": "62", "value": "0x4" }, "116": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "PUSH2", "path": "62", "value": "0x13B" }, "119": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "jump": "i", "offset": [ 250, 370 ], "op": "JUMP", "path": "62" }, "120": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "JUMPDEST", "path": "62" }, "121": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 345 ], "op": "PUSH1", "path": "62", "statement": 0, "value": "0x0" }, "123": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "DUP1", "path": "62" }, "124": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SLOAD", "path": "62" }, "125": { "op": "PUSH1", "value": "0x1" }, "127": { "op": "PUSH1", "value": "0x1" }, "129": { "op": "PUSH1", "value": "0xA0" }, "131": { "op": "SHL" }, "132": { "op": "SUB" }, "133": { "op": "NOT" }, "134": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "AND", "path": "62" }, "135": { "op": "PUSH1", "value": "0x1" }, "137": { "op": "PUSH1", "value": "0x1" }, "139": { "op": "PUSH1", "value": "0xA0" }, "141": { "op": "SHL" }, "142": { "op": "SUB" }, "143": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP3", "path": "62" }, "144": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP1", "path": "62" }, "145": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP3", "path": "62" }, "146": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "AND", "path": "62" }, "147": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP2", "path": "62" }, "148": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP1", "path": "62" }, "149": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP2", "path": "62" }, "150": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "OR", "path": "62" }, "151": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SWAP1", "path": "62" }, "152": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 329, 363 ], "op": "SSTORE", "path": "62" }, "153": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "JUMP", "path": "62" }, "154": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "JUMPDEST", "path": "62" }, "155": { "fn": "MockInstanceRegistry.setInstanceServiceAddress", "offset": [ 250, 370 ], "op": "STOP", "path": "62" }, "156": { "fn": "MockInstanceRegistry.getContract", "offset": [ 376, 637 ], "op": "JUMPDEST", "path": "62" }, "157": { "fn": "MockInstanceRegistry.getContract", "offset": [ 466, 489 ], "op": "PUSH1", "path": "62", "value": "0x0" }, "159": { "op": "PUSH15", "value": "0x496E7374616E636553657276696365" }, "175": { "op": "PUSH1", "value": "0x88" }, "177": { "op": "SHL" }, "178": { "fn": "MockInstanceRegistry.getContract", "offset": [ 513, 525 ], "op": "DUP3", "path": "62", "statement": 1 }, "179": { "branch": 3, "fn": "MockInstanceRegistry.getContract", "offset": [ 513, 555 ], "op": "EQ", "path": "62" }, "180": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "PUSH2", "path": "62", "value": "0x111" }, "183": { "branch": 3, "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "JUMPI", "path": "62" }, "184": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "PUSH1", "path": "62", "value": "0x40" }, "186": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "MLOAD", "path": "62" }, "187": { "op": "PUSH3", "value": "0x461BCD" }, "191": { "op": "PUSH1", "value": "0xE5" }, "193": { "op": "SHL" }, "194": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "DUP2", "path": "62" }, "195": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "MSTORE", "path": "62" }, "196": { "op": "PUSH1", "value": "0x20" }, "198": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "PUSH1", "path": "62", "value": "0x4" }, "200": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "DUP3", "path": "62" }, "201": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "ADD", "path": "62" }, "202": { "op": "MSTORE" }, "203": { "op": "PUSH1", "value": "0x25" }, "205": { "op": "PUSH1", "value": "0x24" }, "207": { "op": "DUP3" }, "208": { "op": "ADD" }, "209": { "op": "MSTORE" }, "210": { "op": "PUSH32", "value": "0x4552524F523A4452472D3030313A434F4E54524143545F4E4F545F5245474953" }, "243": { "op": "PUSH1", "value": "0x44" }, "245": { "op": "DUP3" }, "246": { "op": "ADD" }, "247": { "op": "MSTORE" }, "248": { "op": "PUSH5", "value": "0x1511549151" }, "254": { "op": "PUSH1", "value": "0xDA" }, "256": { "op": "SHL" }, "257": { "op": "PUSH1", "value": "0x64" }, "259": { "op": "DUP3" }, "260": { "op": "ADD" }, "261": { "op": "MSTORE" }, "262": { "op": "PUSH1", "value": "0x84" }, "264": { "op": "ADD" }, "265": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "PUSH1", "path": "62", "value": "0x40" }, "267": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "MLOAD", "path": "62" }, "268": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "DUP1", "path": "62" }, "269": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "SWAP2", "path": "62" }, "270": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "SUB", "path": "62" }, "271": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "SWAP1", "path": "62" }, "272": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "REVERT", "optimizer_revert": true, "path": "62" }, "273": { "fn": "MockInstanceRegistry.getContract", "offset": [ 505, 597 ], "op": "JUMPDEST", "path": "62" }, "274": { "op": "POP" }, "275": { "op": "POP" }, "276": { "fn": "MockInstanceRegistry.getContract", "offset": [ 614, 630 ], "op": "PUSH1", "path": "62", "statement": 2, "value": "0x0" }, "278": { "fn": "MockInstanceRegistry.getContract", "offset": [ 614, 630 ], "op": "SLOAD", "path": "62" }, "279": { "op": "PUSH1", "value": "0x1" }, "281": { "op": "PUSH1", "value": "0x1" }, "283": { "op": "PUSH1", "value": "0xA0" }, "285": { "op": "SHL" }, "286": { "op": "SUB" }, "287": { "fn": "MockInstanceRegistry.getContract", "offset": [ 614, 630 ], "op": "AND", "path": "62" }, "288": { "fn": "MockInstanceRegistry.getContract", "offset": [ 614, 630 ], "op": "SWAP1", "path": "62" }, "289": { "fn": "MockInstanceRegistry.getContract", "jump": "o", "offset": [ 376, 637 ], "op": "JUMP", "path": "62" }, "290": { "op": "JUMPDEST" }, "291": { "op": "PUSH1", "value": "0x0" }, "293": { "op": "PUSH1", "value": "0x20" }, "295": { "op": "DUP3" }, "296": { "op": "DUP5" }, "297": { "op": "SUB" }, "298": { "op": "SLT" }, "299": { "op": "ISZERO" }, "300": { "op": "PUSH2", "value": "0x134" }, "303": { "op": "JUMPI" }, "304": { "op": "PUSH1", "value": "0x0" }, "306": { "op": "DUP1" }, "307": { "op": "REVERT" }, "308": { "op": "JUMPDEST" }, "309": { "op": "POP" }, "310": { "op": "CALLDATALOAD" }, "311": { "op": "SWAP2" }, "312": { "op": "SWAP1" }, "313": { "op": "POP" }, "314": { "jump": "o", "op": "JUMP" }, "315": { "op": "JUMPDEST" }, "316": { "op": "PUSH1", "value": "0x0" }, "318": { "op": "PUSH1", "value": "0x20" }, "320": { "op": "DUP3" }, "321": { "op": "DUP5" }, "322": { "op": "SUB" }, "323": { "op": "SLT" }, "324": { "op": "ISZERO" }, "325": { "op": "PUSH2", "value": "0x14D" }, "328": { "op": "JUMPI" }, "329": { "op": "PUSH1", "value": "0x0" }, "331": { "op": "DUP1" }, "332": { "op": "REVERT" }, "333": { "op": "JUMPDEST" }, "334": { "op": "DUP2" }, "335": { "op": "CALLDATALOAD" }, "336": { "op": "PUSH1", "value": "0x1" }, "338": { "op": "PUSH1", "value": "0x1" }, "340": { "op": "PUSH1", "value": "0xA0" }, "342": { "op": "SHL" }, "343": { "op": "SUB" }, "344": { "op": "DUP2" }, "345": { "op": "AND" }, "346": { "op": "DUP2" }, "347": { "op": "EQ" }, "348": { "op": "PUSH2", "value": "0x164" }, "351": { "op": "JUMPI" }, "352": { "op": "PUSH1", "value": "0x0" }, "354": { "op": "DUP1" }, "355": { "op": "REVERT" }, "356": { "op": "JUMPDEST" }, "357": { "op": "SWAP4" }, "358": { "op": "SWAP3" }, "359": { "op": "POP" }, "360": { "op": "POP" }, "361": { "op": "POP" }, "362": { "jump": "o", "op": "JUMP" } }, "sha1": "c9e88971c0ab556474768d301be741591cfd6bf2", "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.19;\n\nimport {IInstanceRegistryFacade} from \"../registry/IInstanceRegistryFacade.sol\";\n\ncontract MockInstanceRegistry is IInstanceRegistryFacade {\n\n address private _instanceService;\n\n function setInstanceServiceAddress(address instanceService) external {\n _instanceService = instanceService;\n }\n\n function getContract(bytes32 contractName)\n external\n view\n returns (address contractAddress)\n {\n require(contractName == bytes32(\"InstanceService\"), \"ERROR:DRG-001:CONTRACT_NOT_REGISTERED\");\n return _instanceService;\n }\n}\n", "sourceMap": "147:492:62:-:0;;;;;;;;;;;;;;;;;;;", "sourcePath": "contracts/test/MockInstanceRegistry.sol", "type": "contract" }