@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,291 lines • 339 kB
JSON
{
"abi": [
{
"inputs": [
{
"internalType": "contract VersionedOwnable",
"name": "implementation",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "ACTIVATE_AND_SET_OWNER_SIGNATURE",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ACTIVATE_SIGNATURE",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getImplementation",
"outputs": [
{
"internalType": "contract VersionedOwnable",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getProxy",
"outputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "address",
"name": "implementationOwner",
"type": "address"
},
{
"internalType": "address",
"name": "activatedBy",
"type": "address"
}
],
"name": "getProxyCallData",
"outputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract TransparentUpgradeableProxy",
"name": "proxy",
"type": "address"
}
],
"name": "setProxy",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "transferAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract VersionedOwnable",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgrade",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"allSourcePaths": {
"10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/Proxy.sol",
"11": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/beacon/IBeacon.sol",
"12": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/transparent/TransparentUpgradeableProxy.sol",
"22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Address.sol",
"23": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Context.sol",
"24": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/StorageSlot.sol",
"46": "contracts/shared/OwnableProxyAdmin.sol",
"49": "contracts/shared/VersionedOwnable.sol",
"6": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/access/Ownable.sol",
"7": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/interfaces/draft-IERC1822.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": "contracts/shared/OwnableProxyAdmin.sol",
"exportedSymbols": {
"Ownable": [
12623
],
"OwnableProxyAdmin": [
5093
],
"TransparentUpgradeableProxy": [
12771
],
"VersionedOwnable": [
5965
]
},
"id": 5094,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4858,
"literals": [
"solidity",
"^",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "39:24:46"
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/access/Ownable.sol",
"file": "@openzeppelin/contracts/access/Ownable.sol",
"id": 4860,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 5094,
"sourceUnit": 12624,
"src": "65:67:46",
"symbolAliases": [
{
"foreign": {
"id": 4859,
"name": "Ownable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12623,
"src": "73:7:46",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/proxy/transparent/TransparentUpgradeableProxy.sol",
"file": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol",
"id": 4862,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 5094,
"sourceUnit": 12772,
"src": "133:118:46",
"symbolAliases": [
{
"foreign": {
"id": 4861,
"name": "TransparentUpgradeableProxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12771,
"src": "141:27:46",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"absolutePath": "contracts/shared/VersionedOwnable.sol",
"file": "./VersionedOwnable.sol",
"id": 4864,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 5094,
"sourceUnit": 5966,
"src": "253:56:46",
"symbolAliases": [
{
"foreign": {
"id": 4863,
"name": "VersionedOwnable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5965,
"src": "261:16:46",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 4865,
"name": "Ownable",
"nameLocations": [
"345:7:46"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 12623,
"src": "345:7:46"
},
"id": 4866,
"nodeType": "InheritanceSpecifier",
"src": "345:7:46"
}
],
"canonicalName": "OwnableProxyAdmin",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 5093,
"linearizedBaseContracts": [
5093,
12623,
16878
],
"name": "OwnableProxyAdmin",
"nameLocation": "320:17:46",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"functionSelector": "68380765",
"id": 4869,
"mutability": "constant",
"name": "ACTIVATE_SIGNATURE",
"nameLocation": "382:18:46",
"nodeType": "VariableDeclaration",
"scope": 5093,
"src": "359:71:46",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4867,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "359:6:46",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "616374697661746528616464726573732c6164647265737329",
"id": 4868,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "403:27:46",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9555c4db9836118e3e8fdea0718f0ea22c186d971b87dd92cab0a4deed1a7665",
"typeString": "literal_string \"activate(address,address)\""
},
"value": "activate(address,address)"
},
"visibility": "public"
},
{
"constant": true,
"functionSelector": "8765c329",
"id": 4872,
"mutability": "constant",
"name": "ACTIVATE_AND_SET_OWNER_SIGNATURE",
"nameLocation": "459:32:46",
"nodeType": "VariableDeclaration",
"scope": 5093,
"src": "436:104:46",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4870,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "436:6:46",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"hexValue": "6163746976617465416e645365744f776e657228616464726573732c616464726573732c6164647265737329",
"id": 4871,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "494:46:46",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8e2586898501438f09ce73a1c3b09dabeef3881014724f60511363ef4a15257d",
"typeString": "literal_string \"activateAndSetOwner(address,address,address)\""
},
"value": "activateAndSetOwner(address,address,address)"
},
"visibility": "public"
},
{
"constant": false,
"id": 4875,
"mutability": "mutable",
"name": "_implementation",
"nameLocation": "572:15:46",
"nodeType": "VariableDeclaration",
"scope": 5093,
"src": "547:40:46",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
},
"typeName": {
"id": 4874,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4873,
"name": "VersionedOwnable",
"nameLocations": [
"547:16:46"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5965,
"src": "547:16:46"
},
"referencedDeclaration": 5965,
"src": "547:16:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 4878,
"mutability": "mutable",
"name": "_proxy",
"nameLocation": "629:6:46",
"nodeType": "VariableDeclaration",
"scope": 5093,
"src": "593:42:46",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
},
"typeName": {
"id": 4877,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4876,
"name": "TransparentUpgradeableProxy",
"nameLocations": [
"593:27:46"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 12771,
"src": "593:27:46"
},
"referencedDeclaration": 12771,
"src": "593:27:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
},
"visibility": "private"
},
{
"body": {
"id": 4903,
"nodeType": "Block",
"src": "723:142:46",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 4895,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"id": 4889,
"name": "implementation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4881,
"src": "749:14:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
],
"id": 4888,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "741:7:46",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 4887,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "741:7:46",
"typeDescriptions": {}
}
},
"id": 4890,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "741:23:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"hexValue": "30",
"id": 4893,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "776:1:46",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 4892,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "768:7:46",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 4891,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "768:7:46",
"typeDescriptions": {}
}
},
"id": 4894,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "768:10:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "741:37:46",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4552524f523a5058412d3030313a494d504c454d454e544154494f4e5f5a45524f",
"id": 4896,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "780:35:46",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4d5cd7f0eea0e904925724b1e872a2072b31889e40a08f6ac6dcecc2e16694f5",
"typeString": "literal_string \"ERROR:PXA-001:IMPLEMENTATION_ZERO\""
},
"value": "ERROR:PXA-001:IMPLEMENTATION_ZERO"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_4d5cd7f0eea0e904925724b1e872a2072b31889e40a08f6ac6dcecc2e16694f5",
"typeString": "literal_string \"ERROR:PXA-001:IMPLEMENTATION_ZERO\""
}
],
"id": 4886,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "733:7:46",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 4897,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "733:83:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4898,
"nodeType": "ExpressionStatement",
"src": "733:83:46"
},
{
"expression": {
"id": 4901,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 4899,
"name": "_implementation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4875,
"src": "826:15:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4900,
"name": "implementation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4881,
"src": "844:14:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
},
"src": "826:32:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
},
"id": 4902,
"nodeType": "ExpressionStatement",
"src": "826:32:46"
}
]
},
"id": 4904,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [],
"id": 4884,
"kind": "baseConstructorSpecifier",
"modifierName": {
"id": 4883,
"name": "Ownable",
"nameLocations": [
"709:7:46"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 12623,
"src": "709:7:46"
},
"nodeType": "ModifierInvocation",
"src": "709:9:46"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4882,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4881,
"mutability": "mutable",
"name": "implementation",
"nameLocation": "680:14:46",
"nodeType": "VariableDeclaration",
"scope": 4904,
"src": "663:31:46",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
},
"typeName": {
"id": 4880,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4879,
"name": "VersionedOwnable",
"nameLocations": [
"663:16:46"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5965,
"src": "663:16:46"
},
"referencedDeclaration": 5965,
"src": "663:16:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VersionedOwnable_$5965",
"typeString": "contract VersionedOwnable"
}
},
"visibility": "internal"
}
],
"src": "653:47:46"
},
"returnParameters": {
"id": 4885,
"nodeType": "ParameterList",
"parameters": [],
"src": "723:0:46"
},
"scope": 5093,
"src": "642:223:46",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 4942,
"nodeType": "Block",
"src": "964:189:46",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 4921,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"id": 4915,
"name": "_proxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4878,
"src": "990:6:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
],
"id": 4914,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "982:7:46",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 4913,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "982:7:46",
"typeDescriptions": {}
}
},
"id": 4916,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "982:15:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"arguments": [
{
"hexValue": "30",
"id": 4919,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1009:1:46",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 4918,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1001:7:46",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 4917,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1001:7:46",
"typeDescriptions": {}
}
},
"id": 4920,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1001:10:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "982:29:46",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4552524f523a5058412d3031303a50524f58595f5345545f414c5245414459",
"id": 4922,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1013:33:46",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_f42f503fa98174786f0db958771b0081683e54aec79c123209036d9b6d205c08",
"typeString": "literal_string \"ERROR:PXA-010:PROXY_SET_ALREADY\""
},
"value": "ERROR:PXA-010:PROXY_SET_ALREADY"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_f42f503fa98174786f0db958771b0081683e54aec79c123209036d9b6d205c08",
"typeString": "literal_string \"ERROR:PXA-010:PROXY_SET_ALREADY\""
}
],
"id": 4912,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "974:7:46",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 4923,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "974:73:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4924,
"nodeType": "ExpressionStatement",
"src": "974:73:46"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 4934,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"id": 4928,
"name": "proxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4907,
"src": "1073:5:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
],
"id": 4927,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1065:7:46",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 4926,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1065:7:46",
"typeDescriptions": {}
}
},
"id": 4929,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1065:14:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"hexValue": "30",
"id": 4932,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1091:1:46",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 4931,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1083:7:46",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 4930,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1083:7:46",
"typeDescriptions": {}
}
},
"id": 4933,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1083:10:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1065:28:46",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4552524f523a5058412d3031313a50524f58595f5a45524f",
"id": 4935,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1095:26:46",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_5c98f5d5a356e842a7ab3a8afa12f2b6a48abe1480b0be6404e09ec889fee76a",
"typeString": "literal_string \"ERROR:PXA-011:PROXY_ZERO\""
},
"value": "ERROR:PXA-011:PROXY_ZERO"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_5c98f5d5a356e842a7ab3a8afa12f2b6a48abe1480b0be6404e09ec889fee76a",
"typeString": "literal_string \"ERROR:PXA-011:PROXY_ZERO\""
}
],
"id": 4925,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "1057:7:46",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 4936,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1057:65:46",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4937,
"nodeType": "ExpressionStatement",
"src": "1057:65:46"
},
{
"expression": {
"id": 4940,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 4938,
"name": "_proxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4878,
"src": "1132:6:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4939,
"name": "proxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4907,
"src": "1141:5:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
},
"src": "1132:14:46",
"typeDescriptions": {
"typeIdentifier": "t_contract$_TransparentUpgradeableProxy_$12771",
"typeString": "contract TransparentUpgradeableProxy"
}
},
"id": 4941,
"nodeType": "ExpressionStatement",
"src": "1132:14:46"
}
]
},
"functionSelector": "97107d6d",
"id": 4943,
"implemented": true,
"ki