UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

1,236 lines 39 kB
{ "abi": [ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "payable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "stateMutability": "payable", "type": "receive" } ], "allSourcePaths": { "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/Proxy.sol", "8": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Proxy.sol", "9": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Upgrade.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Proxy.sol", "exportedSymbols": { "Address": [ 17676 ], "ERC1967Proxy": [ 16915 ], "ERC1967Upgrade": [ 18030 ], "IBeacon": [ 18386 ], "IERC1822Proxiable": [ 18376 ], "Proxy": [ 18082 ], "StorageSlot": [ 18446 ] }, "id": 16916, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 16880, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "114:23:8" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/Proxy.sol", "file": "../Proxy.sol", "id": 16881, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16916, "sourceUnit": 18083, "src": "139:22:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Upgrade.sol", "file": "./ERC1967Upgrade.sol", "id": 16882, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 16916, "sourceUnit": 18031, "src": "162:30:8", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 16884, "name": "Proxy", "nameLocations": [ "592:5:8" ], "nodeType": "IdentifierPath", "referencedDeclaration": 18082, "src": "592:5:8" }, "id": 16885, "nodeType": "InheritanceSpecifier", "src": "592:5:8" }, { "baseName": { "id": 16886, "name": "ERC1967Upgrade", "nameLocations": [ "599:14:8" ], "nodeType": "IdentifierPath", "referencedDeclaration": 18030, "src": "599:14:8" }, "id": 16887, "nodeType": "InheritanceSpecifier", "src": "599:14:8" } ], "canonicalName": "ERC1967Proxy", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 16883, "nodeType": "StructuredDocumentation", "src": "194:372:8", "text": " @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n implementation address that can be changed. This address is stored in storage in the location specified by\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n implementation behind the proxy." }, "fullyImplemented": true, "id": 16915, "linearizedBaseContracts": [ 16915, 18030, 18082 ], "name": "ERC1967Proxy", "nameLocation": "576:12:8", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 16901, "nodeType": "Block", "src": "1014:56:8", "statements": [ { "expression": { "arguments": [ { "id": 16896, "name": "_logic", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16890, "src": "1042:6:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 16897, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16892, "src": "1050:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "hexValue": "66616c7365", "id": 16898, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1057:5:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 16895, "name": "_upgradeToAndCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 17813, "src": "1024:17:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$__$", "typeString": "function (address,bytes memory,bool)" } }, "id": 16899, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1024:39:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 16900, "nodeType": "ExpressionStatement", "src": "1024:39:8" } ] }, "documentation": { "id": 16888, "nodeType": "StructuredDocumentation", "src": "620:333:8", "text": " @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n function call, and allows initializing the storage of the proxy like a Solidity constructor." }, "id": 16902, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 16893, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16890, "mutability": "mutable", "name": "_logic", "nameLocation": "978:6:8", "nodeType": "VariableDeclaration", "scope": 16902, "src": "970:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16889, "name": "address", "nodeType": "ElementaryTypeName", "src": "970:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 16892, "mutability": "mutable", "name": "_data", "nameLocation": "999:5:8", "nodeType": "VariableDeclaration", "scope": 16902, "src": "986:18:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 16891, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "986:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "969:36:8" }, "returnParameters": { "id": 16894, "nodeType": "ParameterList", "parameters": [], "src": "1014:0:8" }, "scope": 16915, "src": "958:112:8", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ 18047 ], "body": { "id": 16913, "nodeType": "Block", "src": "1229:59:8", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { "id": 16909, "name": "ERC1967Upgrade", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18030, "src": "1246:14:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC1967Upgrade_$18030_$", "typeString": "type(contract ERC1967Upgrade)" } }, "id": 16910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1261:18:8", "memberName": "_getImplementation", "nodeType": "MemberAccess", "referencedDeclaration": 17744, "src": "1246:33:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 16911, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1246:35:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 16908, "id": 16912, "nodeType": "Return", "src": "1239:42:8" } ] }, "documentation": { "id": 16903, "nodeType": "StructuredDocumentation", "src": "1076:67:8", "text": " @dev Returns the current implementation address." }, "id": 16914, "implemented": true, "kind": "function", "modifiers": [], "name": "_implementation", "nameLocation": "1157:15:8", "nodeType": "FunctionDefinition", "overrides": { "id": 16905, "nodeType": "OverrideSpecifier", "overrides": [], "src": "1197:8:8" }, "parameters": { "id": 16904, "nodeType": "ParameterList", "parameters": [], "src": "1172:2:8" }, "returnParameters": { "id": 16908, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16907, "mutability": "mutable", "name": "impl", "nameLocation": "1223:4:8", "nodeType": "VariableDeclaration", "scope": 16914, "src": "1215:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 16906, "name": "address", "nodeType": "ElementaryTypeName", "src": "1215:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1214:14:8" }, "scope": 16915, "src": "1148:140:8", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], "scope": 16916, "src": "567:723:8", "usedErrors": [] } ], "src": "114:1177:8" }, "bytecode": "60806040526040516104e13803806104e1833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104ba60279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60b1806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206af21798a46c5e54d37cd83942fa702c7d58656eb92821ce763a2b6768c3184d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.19+commit.7dd6d404" }, "contractName": "ERC1967Proxy", "coverageMap": { "branches": { "10": {}, "8": {}, "9": {} }, "statements": { "10": { "Proxy.<fallback>": { "1": [ 2675, 2686 ] }, "Proxy.<receive>": { "0": [ 2898, 2909 ] }, "Proxy._fallback": { "2": [ 2397, 2425 ] } }, "8": { "ERC1967Proxy._implementation": { "3": [ 1239, 1281 ] } }, "9": { "ERC1967Upgrade._getImplementation": { "4": [ 1373, 1434 ] } } } }, "dependencies": [ "OpenZeppelin/openzeppelin-contracts@4.8.2/ERC1967Upgrade", "OpenZeppelin/openzeppelin-contracts@4.8.2/Proxy" ], "deployedBytecode": "608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea26469706673582212206af21798a46c5e54d37cd83942fa702c7d58656eb92821ce763a2b6768c3184d64736f6c63430008130033", "deployedSourceMap": "567:723:8:-:0;;;;;;2898:11:10;:9;:11::i;:::-;567:723:8;;2675:11:10;2322:110;2397:28;2407:17;:15;:17::i;:::-;2397:9;:28::i;:::-;2322:110::o;1148:140:8:-;1215:12;1246:35;1030:66:9;1380:54;-1:-1:-1;;;;;1380:54:9;;1301:140;1246:35:8;1239:42;;1148:140;:::o;948:895:10:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:66;;;;1796:16;1793:1;1786:27;1681:66;1716:16;1713:1;1706:27", "language": "Solidity", "natspec": { "details": "This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.", "events": { "AdminChanged(address,address)": { "details": "Emitted when the admin account has changed." }, "BeaconUpgraded(address)": { "details": "Emitted when the beacon is upgraded." }, "Upgraded(address)": { "details": "Emitted when the implementation is upgraded." } }, "kind": "dev", "methods": { "constructor": { "details": "Initializes the upgradeable proxy with an initial implementation specified by `_logic`. If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor." } }, "version": 1 }, "offset": [ 567, 1290 ], "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH1 0x10 JUMPI PUSH1 0xE PUSH1 0x13 JUMP JUMPDEST STOP JUMPDEST PUSH1 0xE JUMPDEST PUSH1 0x1F PUSH1 0x1B PUSH1 0x21 JUMP JUMPDEST PUSH1 0x58 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x53 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH1 0x76 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH11 0xF21798A46C5E54D37CD839 TIMESTAMP STATICCALL PUSH17 0x2C7D58656EB92821CE763A2B6768C3184D PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ", "pcMap": { "0": { "offset": [ 567, 1290 ], "op": "PUSH1", "path": "8", "value": "0x80" }, "2": { "fn": null, "offset": [ 567, 1290 ], "op": "PUSH1", "path": "8", "value": "0x40" }, "4": { "fn": null, "offset": [ 567, 1290 ], "op": "MSTORE", "path": "8" }, "5": { "fn": null, "offset": [ 567, 1290 ], "op": "CALLDATASIZE", "path": "8" }, "6": { "fn": null, "offset": [ 567, 1290 ], "op": "PUSH1", "path": "8", "value": "0x10" }, "8": { "fn": null, "offset": [ 567, 1290 ], "op": "JUMPI", "path": "8" }, "9": { "fn": "Proxy.<receive>", "offset": [ 2898, 2909 ], "op": "PUSH1", "path": "10", "statement": 0, "value": "0xE" }, "11": { "fn": "Proxy.<receive>", "offset": [ 2898, 2907 ], "op": "PUSH1", "path": "10", "value": "0x13" }, "13": { "fn": "Proxy.<receive>", "jump": "i", "offset": [ 2898, 2909 ], "op": "JUMP", "path": "10" }, "14": { "fn": "Proxy.<receive>", "offset": [ 2898, 2909 ], "op": "JUMPDEST", "path": "10" }, "15": { "offset": [ 567, 1290 ], "op": "STOP", "path": "8" }, "16": { "fn": "Proxy.<receive>", "offset": [ 567, 1290 ], "op": "JUMPDEST", "path": "8" }, "17": { "fn": "Proxy.<fallback>", "offset": [ 2675, 2686 ], "op": "PUSH1", "path": "10", "statement": 1, "value": "0xE" }, "19": { "fn": "Proxy._fallback", "offset": [ 2322, 2432 ], "op": "JUMPDEST", "path": "10" }, "20": { "fn": "Proxy._fallback", "offset": [ 2397, 2425 ], "op": "PUSH1", "path": "10", "statement": 2, "value": "0x1F" }, "22": { "fn": "Proxy._fallback", "offset": [ 2407, 2424 ], "op": "PUSH1", "path": "10", "value": "0x1B" }, "24": { "fn": "Proxy._fallback", "offset": [ 2407, 2422 ], "op": "PUSH1", "path": "10", "value": "0x21" }, "26": { "fn": "Proxy._fallback", "jump": "i", "offset": [ 2407, 2424 ], "op": "JUMP", "path": "10" }, "27": { "fn": "Proxy._fallback", "offset": [ 2407, 2424 ], "op": "JUMPDEST", "path": "10" }, "28": { "fn": "Proxy._fallback", "offset": [ 2397, 2406 ], "op": "PUSH1", "path": "10", "value": "0x58" }, "30": { "fn": "Proxy._fallback", "jump": "i", "offset": [ 2397, 2425 ], "op": "JUMP", "path": "10" }, "31": { "fn": "Proxy._fallback", "offset": [ 2397, 2425 ], "op": "JUMPDEST", "path": "10" }, "32": { "fn": "Proxy._fallback", "jump": "o", "offset": [ 2322, 2432 ], "op": "JUMP", "path": "10" }, "33": { "fn": "ERC1967Proxy._implementation", "offset": [ 1148, 1288 ], "op": "JUMPDEST", "path": "8" }, "34": { "fn": "ERC1967Proxy._implementation", "offset": [ 1215, 1227 ], "op": "PUSH1", "path": "8", "value": "0x0" }, "36": { "fn": "ERC1967Proxy._implementation", "offset": [ 1246, 1281 ], "op": "PUSH1", "path": "8", "statement": 3, "value": "0x53" }, "38": { "offset": [ 1030, 1096 ], "op": "PUSH32", "path": "9", "value": "0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC" }, "71": { "fn": "ERC1967Upgrade._getImplementation", "offset": [ 1380, 1434 ], "op": "SLOAD", "path": "9", "statement": 4 }, "72": { "op": "PUSH1", "value": "0x1" }, "74": { "op": "PUSH1", "value": "0x1" }, "76": { "op": "PUSH1", "value": "0xA0" }, "78": { "op": "SHL" }, "79": { "op": "SUB" }, "80": { "fn": "ERC1967Upgrade._getImplementation", "offset": [ 1380, 1434 ], "op": "AND", "path": "9" }, "81": { "fn": "ERC1967Upgrade._getImplementation", "offset": [ 1380, 1434 ], "op": "SWAP1", "path": "9" }, "82": { "fn": "ERC1967Upgrade._getImplementation", "offset": [ 1301, 1441 ], "op": "JUMP", "path": "9" }, "83": { "fn": "ERC1967Proxy._implementation", "offset": [ 1246, 1281 ], "op": "JUMPDEST", "path": "8" }, "84": { "fn": "ERC1967Proxy._implementation", "offset": [ 1239, 1281 ], "op": "SWAP1", "path": "8" }, "85": { "fn": "ERC1967Proxy._implementation", "offset": [ 1239, 1281 ], "op": "POP", "path": "8" }, "86": { "fn": "ERC1967Proxy._implementation", "offset": [ 1148, 1288 ], "op": "SWAP1", "path": "8" }, "87": { "fn": "ERC1967Proxy._implementation", "jump": "o", "offset": [ 1148, 1288 ], "op": "JUMP", "path": "8" }, "88": { "fn": "Proxy._delegate", "offset": [ 948, 1843 ], "op": "JUMPDEST", "path": "10" }, "89": { "fn": "Proxy._delegate", "offset": [ 1286, 1300 ], "op": "CALLDATASIZE", "path": "10" }, "90": { "fn": "Proxy._delegate", "offset": [ 1283, 1284 ], "op": "PUSH1", "path": "10", "value": "0x0" }, "92": { "fn": "Proxy._delegate", "offset": [ 1280, 1281 ], "op": "DUP1", "path": "10" }, "93": { "fn": "Proxy._delegate", "offset": [ 1267, 1301 ], "op": "CALLDATACOPY", "path": "10" }, "94": { "fn": "Proxy._delegate", "offset": [ 1500, 1501 ], "op": "PUSH1", "path": "10", "value": "0x0" }, "96": { "fn": "Proxy._delegate", "offset": [ 1497, 1498 ], "op": "DUP1", "path": "10" }, "97": { "fn": "Proxy._delegate", "offset": [ 1481, 1495 ], "op": "CALLDATASIZE", "path": "10" }, "98": { "fn": "Proxy._delegate", "offset": [ 1478, 1479 ], "op": "PUSH1", "path": "10", "value": "0x0" }, "100": { "fn": "Proxy._delegate", "offset": [ 1462, 1476 ], "op": "DUP5", "path": "10" }, "101": { "fn": "Proxy._delegate", "offset": [ 1455, 1460 ], "op": "GAS", "path": "10" }, "102": { "fn": "Proxy._delegate", "offset": [ 1442, 1502 ], "op": "DELEGATECALL", "path": "10" }, "103": { "fn": "Proxy._delegate", "offset": [ 1576, 1592 ], "op": "RETURNDATASIZE", "path": "10" }, "104": { "fn": "Proxy._delegate", "offset": [ 1573, 1574 ], "op": "PUSH1", "path": "10", "value": "0x0" }, "106": { "fn": "Proxy._delegate", "offset": [ 1570, 1571 ], "op": "DUP1", "path": "10" }, "107": { "fn": "Proxy._delegate", "offset": [ 1555, 1593 ], "op": "RETURNDATACOPY", "path": "10" }, "108": { "fn": "Proxy._delegate", "offset": [ 1614, 1620 ], "op": "DUP1", "path": "10" }, "109": { "fn": "Proxy._delegate", "offset": [ 1681, 1747 ], "op": "DUP1", "path": "10" }, "110": { "fn": "Proxy._delegate", "offset": [ 1681, 1747 ], "op": "ISZERO", "path": "10" }, "111": { "fn": "Proxy._delegate", "offset": [ 1681, 1747 ], "op": "PUSH1", "path": "10", "value": "0x76" }, "113": { "fn": "Proxy._delegate", "offset": [ 1681, 1747 ], "op": "JUMPI", "path": "10" }, "114": { "fn": "Proxy._delegate", "offset": [ 1796, 1812 ], "op": "RETURNDATASIZE", "path": "10" }, "115": { "fn": "Proxy._delegate", "offset": [ 1793, 1794 ], "op": "PUSH1", "path": "10", "value": "0x0" }, "117": { "fn": "Proxy._delegate", "offset": [ 1786, 1813 ], "op": "RETURN", "path": "10" }, "118": { "fn": "Proxy._delegate", "offset": [ 1681, 1747 ], "op": "JUMPDEST", "path": "10" }, "119": { "fn": "Proxy._delegate", "offset": [ 1716, 1732 ], "op": "RETURNDATASIZE", "path": "10" }, "120": { "fn": "Proxy._delegate", "offset": [ 1713, 1714 ], "op": "PUSH1", "path": "10", "value": "0x0" }, "122": { "fn": "Proxy._delegate", "offset": [ 1706, 1733 ], "op": "REVERT", "path": "10" } }, "sha1": "6d8e76e6172afcf7857809407ed272a7ab7a88ea", "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (proxy/ERC1967/ERC1967Proxy.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Proxy.sol\";\nimport \"./ERC1967Upgrade.sol\";\n\n/**\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n * implementation address that can be changed. This address is stored in storage in the location specified by\n * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n * implementation behind the proxy.\n */\ncontract ERC1967Proxy is Proxy, ERC1967Upgrade {\n /**\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.\n *\n * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded\n * function call, and allows initializing the storage of the proxy like a Solidity constructor.\n */\n constructor(address _logic, bytes memory _data) payable {\n _upgradeToAndCall(_logic, _data, false);\n }\n\n /**\n * @dev Returns the current implementation address.\n */\n function _implementation() internal view virtual override returns (address impl) {\n return ERC1967Upgrade._getImplementation();\n }\n}\n", "sourceMap": "567:723:8:-:0;;;958:112;;;;;;;;;;;;;;;;;;:::i;:::-;1024:39;1042:6;1050:5;1057;1024:17;:39::i;:::-;958:112;;567:723;;2183:295:9;2321:29;2332:17;2321:10;:29::i;:::-;2378:1;2364:4;:11;:15;:28;;;;2383:9;2364:28;2360:112;;;2408:53;2437:17;2456:4;2408:28;:53::i;:::-;;2360:112;2183:295;;;:::o;1897:152::-;1963:37;1982:17;1963:18;:37::i;:::-;2015:27;;-1:-1:-1;;;;;2015:27:9;;;;;;;;1897:152;:::o;6469:198:22:-;6552:12;6583:77;6604:6;6612:4;6583:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6576:84;6469:198;-1:-1:-1;;;6469:198:22:o;1532:259:9:-;-1:-1:-1;;;;;1465:19:22;;;1605:95:9;;;;-1:-1:-1;;;1605:95:9;;1671:2:67;1605:95:9;;;1653:21:67;1710:2;1690:18;;;1683:30;1749:34;1729:18;;;1722:62;-1:-1:-1;;;1800:18:67;;;1793:43;1853:19;;1605:95:9;;;;;;;;;1030:66;1710:74;;-1:-1:-1;;;;;;1710:74:9;-1:-1:-1;;;;;1710:74:9;;;;;;;;;;1532:259::o;6853:325:22:-;6994:12;7019;7033:23;7060:6;-1:-1:-1;;;;;7060:19:22;7080:4;7060:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7018:67:22;;-1:-1:-1;7018:67:22;-1:-1:-1;7102:69:22;7129:6;7018:67;;7158:12;7102:26;:69::i;:::-;7095:76;6853:325;-1:-1:-1;;;;;;6853:325:22:o;7466:628::-;7646:12;7674:7;7670:418;;;7701:10;:17;7722:1;7701:22;7697:286;;-1:-1:-1;;;;;1465:19:22;;;7908:60;;;;-1:-1:-1;;;7908:60:22;;2377:2:67;7908:60:22;;;2359:21:67;2416:2;2396:18;;;2389:30;2455:31;2435:18;;;2428:59;2504:18;;7908:60:22;2175:353:67;7908:60:22;-1:-1:-1;8003:10:22;7996:17;;7670:418;8044:33;8052:10;8064:12;8044:7;:33::i;:::-;7466:628;;;;;;:::o;8616:540::-;8775:17;;:21;8771:379;;9003:10;8997:17;9059:15;9046:10;9042:2;9038:19;9031:44;8771:379;9126:12;9119:20;;-1:-1:-1;;;9119:20:22;;;;;;;;:::i;14:127:67:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:67;370:16;;363:27;146:250::o;401:1063::-;489:6;497;550:2;538:9;529:7;525:23;521:32;518:52;;;566:1;563;556:12;518:52;592:16;;-1:-1:-1;;;;;637:31:67;;627:42;;617:70;;683:1;680;673:12;617:70;755:2;740:18;;734:25;706:5;;-1:-1:-1;;;;;;808:14:67;;;805:34;;;835:1;832;825:12;805:34;873:6;862:9;858:22;848:32;;918:7;911:4;907:2;903:13;899:27;889:55;;940:1;937;930:12;889:55;969:2;963:9;991:2;987;984:10;981:36;;;997:18;;:::i;:::-;1072:2;1066:9;1040:2;1126:13;;-1:-1:-1;;1122:22:67;;;1146:2;1118:31;1114:40;1102:53;;;1170:18;;;1190:22;;;1167:46;1164:72;;;1216:18;;:::i;:::-;1256:10;1252:2;1245:22;1291:2;1283:6;1276:18;1331:7;1326:2;1321;1317;1313:11;1309:20;1306:33;1303:53;;;1352:1;1349;1342:12;1303:53;1365:68;1430:2;1425;1417:6;1413:15;1408:2;1404;1400:11;1365:68;:::i;:::-;1452:6;1442:16;;;;;;;401:1063;;;;;:::o;1883:287::-;2012:3;2050:6;2044:13;2066:66;2125:6;2120:3;2113:4;2105:6;2101:17;2066:66;:::i;:::-;2148:16;;;;;1883:287;-1:-1:-1;;1883:287:67:o;2533:396::-;2682:2;2671:9;2664:21;2645:4;2714:6;2708:13;2757:6;2752:2;2741:9;2737:18;2730:34;2773:79;2845:6;2840:2;2829:9;2825:18;2820:2;2812:6;2808:15;2773:79;:::i;:::-;2913:2;2892:15;-1:-1:-1;;2888:29:67;2873:45;;;;2920:2;2869:54;;2533:396;-1:-1:-1;;2533:396:67:o;:::-;567:723:8;;;;;;", "sourcePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/ERC1967/ERC1967Proxy.sol", "type": "contract" }