@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,989 lines • 48.6 kB
JSON
{
"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"
}