@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,301 lines • 332 kB
JSON
{
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "Version",
"name": "version",
"type": "uint48"
},
{
"indexed": false,
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "activatedBy",
"type": "address"
}
],
"name": "LogVersionableActivated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "address",
"name": "activatedBy",
"type": "address"
}
],
"name": "activate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "address",
"name": "newOwner",
"type": "address"
},
{
"internalType": "address",
"name": "activatedBy",
"type": "address"
}
],
"name": "activateAndSetOwner",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "blockNumber",
"outputs": [
{
"internalType": "Blocknumber",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "idx",
"type": "uint256"
}
],
"name": "getVersion",
"outputs": [
{
"internalType": "Version",
"name": "",
"type": "uint48"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "Version",
"name": "_version",
"type": "uint48"
}
],
"name": "getVersionInfo",
"outputs": [
{
"components": [
{
"internalType": "Version",
"name": "version",
"type": "uint48"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "address",
"name": "activatedBy",
"type": "address"
},
{
"internalType": "Blocknumber",
"name": "activatedIn",
"type": "uint32"
},
{
"internalType": "Timestamp",
"name": "activatedAt",
"type": "uint40"
}
],
"internalType": "struct IVersionable.VersionInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "shift",
"type": "uint8"
}
],
"name": "intToBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "Version",
"name": "_version",
"type": "uint48"
}
],
"name": "isActivated",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"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": "ChainId",
"name": "x",
"type": "bytes5"
}
],
"name": "toInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "Blocknumber",
"name": "x",
"type": "uint32"
}
],
"name": "toInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "Timestamp",
"name": "x",
"type": "uint40"
}
],
"name": "toInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "Version",
"name": "_version",
"type": "uint48"
}
],
"name": "toVersionParts",
"outputs": [
{
"internalType": "VersionPart",
"name": "major",
"type": "uint16"
},
{
"internalType": "VersionPart",
"name": "minor",
"type": "uint16"
},
{
"internalType": "VersionPart",
"name": "patch",
"type": "uint16"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "Version",
"name": "",
"type": "uint48"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "versionParts",
"outputs": [
{
"internalType": "VersionPart",
"name": "major",
"type": "uint16"
},
{
"internalType": "VersionPart",
"name": "minor",
"type": "uint16"
},
{
"internalType": "VersionPart",
"name": "patch",
"type": "uint16"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "versions",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"allSourcePaths": {
"0": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/access/OwnableUpgradeable.sol",
"1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/proxy/utils/Initializable.sol",
"3": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/utils/ContextUpgradeable.sol",
"42": "contracts/shared/BaseTypes.sol",
"43": "contracts/shared/IBaseTypes.sol",
"45": "contracts/shared/IVersionable.sol",
"48": "contracts/shared/Versionable.sol",
"49": "contracts/shared/VersionedOwnable.sol"
},
"ast": {
"absolutePath": "contracts/shared/VersionedOwnable.sol",
"exportedSymbols": {
"OwnableUpgradeable": [
13768
],
"Versionable": [
5891
],
"VersionedOwnable": [
5965
]
},
"id": 5966,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 5893,
"literals": [
"solidity",
"^",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "39:24:49"
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/access/OwnableUpgradeable.sol",
"file": "@openzeppelin-upgradeable/contracts/access/OwnableUpgradeable.sol",
"id": 5895,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 5966,
"sourceUnit": 13769,
"src": "65:101:49",
"symbolAliases": [
{
"foreign": {
"id": 5894,
"name": "OwnableUpgradeable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13768,
"src": "73:18:49",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"absolutePath": "contracts/shared/Versionable.sol",
"file": "./Versionable.sol",
"id": 5897,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 5966,
"sourceUnit": 5892,
"src": "168:46:49",
"symbolAliases": [
{
"foreign": {
"id": 5896,
"name": "Versionable",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5891,
"src": "176:11:49",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 5898,
"name": "Versionable",
"nameLocations": [
"249:11:49"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5891,
"src": "249:11:49"
},
"id": 5899,
"nodeType": "InheritanceSpecifier",
"src": "249:11:49"
},
{
"baseName": {
"id": 5900,
"name": "OwnableUpgradeable",
"nameLocations": [
"266:18:49"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 13768,
"src": "266:18:49"
},
"id": 5901,
"nodeType": "InheritanceSpecifier",
"src": "266:18:49"
}
],
"canonicalName": "VersionedOwnable",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 5965,
"linearizedBaseContracts": [
5965,
13768,
17126,
17084,
5891,
4856,
4443,
4753
],
"name": "VersionedOwnable",
"nameLocation": "225:16:49",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 5909,
"nodeType": "Block",
"src": "389:117:49",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 5906,
"name": "__Ownable_init",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13663,
"src": "483:14:49",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 5907,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "483:16:49",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 5908,
"nodeType": "ExpressionStatement",
"src": "483:16:49"
}
]
},
"id": 5910,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"id": 5904,
"kind": "modifierInvocation",
"modifierName": {
"id": 5903,
"name": "initializer",
"nameLocations": [
"373:11:49"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 16986,
"src": "373:11:49"
},
"nodeType": "ModifierInvocation",
"src": "373:11:49"
}
],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5902,
"nodeType": "ParameterList",
"parameters": [],
"src": "361:2:49"
},
"returnParameters": {
"id": 5905,
"nodeType": "ParameterList",
"parameters": [],
"src": "389:0:49"
},
"scope": 5965,
"src": "350:156:49",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"baseFunctions": [
5648
],
"body": {
"id": 5923,
"nodeType": "Block",
"src": "750:56:49",
"statements": [
{
"expression": {
"arguments": [
{
"id": 5919,
"name": "implementation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5912,
"src": "771:14:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 5920,
"name": "activatedBy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5914,
"src": "787:11:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 5918,
"name": "_activate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5719,
"src": "761:9:49",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 5921,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "761:38:49",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 5922,
"nodeType": "ExpressionStatement",
"src": "761:38:49"
}
]
},
"functionSelector": "9555c4db",
"id": 5924,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "activate",
"nameLocation": "670:8:49",
"nodeType": "FunctionDefinition",
"overrides": {
"id": 5916,
"nodeType": "OverrideSpecifier",
"overrides": [],
"src": "733:8:49"
},
"parameters": {
"id": 5915,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5912,
"mutability": "mutable",
"name": "implementation",
"nameLocation": "687:14:49",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "679:22:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5911,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "679:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5914,
"mutability": "mutable",
"name": "activatedBy",
"nameLocation": "711:11:49",
"nodeType": "VariableDeclaration",
"scope": 5924,
"src": "703:19:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5913,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "703:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "678:45:49"
},
"returnParameters": {
"id": 5917,
"nodeType": "ParameterList",
"parameters": [],
"src": "750:0:49"
},
"scope": 5965,
"src": "661:145:49",
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "external"
},
{
"body": {
"id": 5939,
"nodeType": "Block",
"src": "1009:76:49",
"statements": [
{
"expression": {
"arguments": [
{
"id": 5934,
"name": "implementation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5926,
"src": "1040:14:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 5935,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5928,
"src": "1056:8:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 5936,
"name": "activatedBy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5930,
"src": "1066:11:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 5933,
"name": "_activateAndSetOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5964,
"src": "1019:20:49",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address,address)"
}
},
"id": 5937,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1019:59:49",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 5938,
"nodeType": "ExpressionStatement",
"src": "1019:59:49"
}
]
},
"functionSelector": "8e258689",
"id": 5940,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "activateAndSetOwner",
"nameLocation": "889:19:49",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5931,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5926,
"mutability": "mutable",
"name": "implementation",
"nameLocation": "917:14:49",
"nodeType": "VariableDeclaration",
"scope": 5940,
"src": "909:22:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5925,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "909:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5928,
"mutability": "mutable",
"name": "newOwner",
"nameLocation": "941:8:49",
"nodeType": "VariableDeclaration",
"scope": 5940,
"src": "933:16:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5927,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "933:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5930,
"mutability": "mutable",
"name": "activatedBy",
"nameLocation": "959:11:49",
"nodeType": "VariableDeclaration",
"scope": 5940,
"src": "951:19:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5929,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "951:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "908:63:49"
},
"returnParameters": {
"id": 5932,
"nodeType": "ParameterList",
"parameters": [],
"src": "1009:0:49"
},
"scope": 5965,
"src": "880:205:49",
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "external"
},
{
"body": {
"id": 5963,
"nodeType": "Block",
"src": "1243:241:49",
"statements": [
{
"expression": {
"arguments": [
{
"id": 5952,
"name": "implementation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5942,
"src": "1305:14:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 5953,
"name": "activatedBy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5946,
"src": "1321:11:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 5951,
"name": "_activate",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5719,
"src": "1295:9:49",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 5954,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1295:38:49",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 5955,
"nodeType": "ExpressionStatement",
"src": "1295:38:49"
},
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 5956,
"name": "__Ownable_init",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13663,
"src": "1390:14:49",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 5957,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1390:16:49",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 5958,
"nodeType": "ExpressionStatement",
"src": "1390:16:49"
},
{
"expression": {
"arguments": [
{
"id": 5960,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5944,
"src": "1468:8:49",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 5959,
"name": "transferOwnership",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13742,
"src": "1450:17:49",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
"typeString": "function (address)"
}
},
"id": 5961,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1450:27:49",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 5962,
"nodeType": "ExpressionStatement",
"src": "1450:27:49"
}
]
},
"id": 5964,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 5949,
"kind": "modifierInvocation",
"modifierName": {
"id": 5948,
"name": "initializer",
"nameLocations": [
"1227:11:49"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 16986,
"src": "1227:11:49"
},
"nodeType": "ModifierInvocation",
"src": "1227:11:49"
}
],
"name": "_activateAndSetOwner",
"nameLocation": "1101:20:49",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5947,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5942,
"mutability": "mutable",
"name": "implementation",
"nameLocation": "1130:14:49",
"nodeType": "VariableDeclaration",
"scope": 5964,
"src": "1122:22:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5941,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1122:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5944,
"mutability": "mutable",
"name": "newOwner",
"nameLocation": "1154:8:49",
"nodeType": "VariableDeclaration",
"scope": 5964,
"src": "1146:16:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5943,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1146:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5946,
"mutability": "mutable",
"name": "activatedBy",
"nameLocation": "1172:11:49",
"nodeType": "VariableDeclaration",
"scope": 5964,
"src": "1164:19:49",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 5945,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1164:7:49",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1121:63:49"
},
"returnParameters": {
"id": 5950,
"nodeType": "ParameterList",
"parameters": [],
"src": "1243:0:49"
},
"scope": 5965,
"src": "1092:392:49",
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "internal"
}
],
"scope": 5966,
"src": "216:1270:49",
"usedErrors": []
}
],
"src": "39:1447:49"
},
"bytecode": "60806040523480156200001157600080fd5b506200001e303362000140565b600254610100900460ff16158080156200003f5750600254600160ff909116105b806200005b5750303b1580156200005b575060025460ff166001145b620000c45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6002805460ff191660011790558015620000e8576002805461ff0019166101001790555b620000f262000444565b801562000139576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b506200063c565b60006200014c620004ac565b65ffffffffffff8116600090815260208190526040902060010154909150600160a01b900463ffffffff1615620001d65760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b6064820152608401620000bb565b6001541562000299576001805460009190620001f4908290620005fa565b8154811062000207576200020762000610565b90600052602060002090600591828204019190066006029054906101000a900465ffffffffffff1690506200023d8282620004bd565b620002975760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b6064820152608401620000bb565b505b60018054808201825560009190915260058082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805465ffffffffffff808616600694909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b03808616602084015284169082015260608101620003254390565b63ffffffff1681526020014264ffffffffff90811690915265ffffffffffff8084166000908152602081815260409182902085518154928701516001600160a01b039081166601000000000000026001600160d01b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c01b0264ffffffffff60c01b1963ffffffff909716600160a01b026001600160c01b031990961692909416919091179390931793909316179055517ff7b17693e830f8b239607e857ac81b076450829d544c053d533d1b278d18cd8990620004379083908690869065ffffffffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b600254610100900460ff16620004a05760405162461bcd60e51b815260206004820152602b60248201526000805160206200148b83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000bb565b620004aa620004d2565b565b6000620004b862000539565b905090565b65ffffffffffff808216908316115b92915050565b600254610100900460ff166200052e5760405162461bcd60e51b815260206004820152602b60248201526000805160206200148b83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000bb565b620004aa3362000549565b6000620004b8816000806200059b565b603580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061ffff8481169084811690841680620005cd63ffff0000601089901b1665ffff0000000060208b901b1662000626565b620005d9919062000626565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004cc57620004cc620005e4565b634e487b7160e01b600052603260045260246000fd5b80820180821115620004cc57620004cc620005e4565b610e3f806200064c6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80639555c4db116100a2578063c1f6a1b711610071578063c1f6a1b714610253578063da09d48414610266578063de788b2c1461027e578063f2fde38b146102f1578063f8b1cb3c1461030457600080fd5b80639555c4db146101dd578063aa615ec8146101f0578063b88da75914610213578063bd4080ec1461022657600080fd5b80636effeac4116100de5780636effeac41461018e578063715018a6146101a55780638da5cb5b146101af5780638e258689146101ca57600080fd5b80631080d8951461011057806354fd4d501461013957806357e871e714610158578063663626121461016c575b600080fd5b61012361011e366004610b7c565b61030c565b6040516101309190610bb2565b60405180910390f35b610141610342565b60405165ffffffffffff9091168152602001610130565b60405163ffffffff43168152602001610130565b61018061017a366004610c00565b60d81c90565b604051908152602001610130565b61018061019c366004610c31565b63ffffffff1690565b6101ad610351565b005b6035546040516001600160a01b039091168152602001610130565b6101ad6101d8366004610c73565b610365565b6101ad6101eb366004610cb6565b610375565b6102036101fe366004610ce9565b610383565b6040519015158152602001610130565b610141610221366004610d11565b6103af565b61022e61044a565b6040805161ffff94851681529284166020840152921691810191909152606001610130565b61022e610261366004610ce9565b610465565b610180610274366004610d2a565b64ffffffffff1690565b61029161028c366004610ce9565b6104a7565b60408051825165ffffffffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015163ffffffff169082015260809182015164ffffffffff169181019190915260a001610130565b6101ad6102ff366004610d51565b6105a4565b600154610180565b6040805160ff831684901b60f01b6001600160f01b03191660208201528151600281830301815260229091019091525b92915050565b600061034c61061d565b905090565b61035961062b565b6103636000610685565b565b6103708383836106d7565b505050565b61037f82826107fe565b5050565b65ffffffffffff16600090815260208190526040902060010154600160a01b900463ffffffff16151590565b60015460009082106104085760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a56524e2d3031303a494e4445585f544f4f5f4c4152474500000060448201526064015b60405180910390fd5b6001828154811061041b5761041b610d6c565b90600052602060002090600591828204019190066006029054906101000a900465ffffffffffff169050919050565b600080600061045a610261610342565b925092509250909192565b6000808065ffffffffffff841661ffff602086901c166104858383610d98565b9150601082901c60006104988185610d98565b92989197509195509350505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526104db82610383565b6105275760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a56524e2d3032303a56455253494f4e5f554e4b4e4f574e00000060448201526064016103ff565b5065ffffffffffff90811660009081526020818152604091829020825160a0810184528154948516815266010000000000009094046001600160a01b03908116928501929092526001015490811691830191909152600160a01b810463ffffffff166060830152600160c01b900464ffffffffff16608082015290565b6105ac61062b565b6001600160a01b0381166106115760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ff565b61061a81610685565b50565b600061034c81600080610add565b6035546001600160a01b031633146103635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ff565b603580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600254610100900460ff16158080156106f75750600254600160ff909116105b806107115750303b158015610711575060025460ff166001145b6107745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016103ff565b6002805460ff191660011790558015610797576002805461ff0019166101001790555b6107a184836107fe565b6107a9610b22565b6107b2836105a4565b80156107f8576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000610808610342565b905061081381610383565b156108705760405162461bcd60e51b815260206004820152602760248201527f4552524f523a56524e2d3030313a56455253494f4e5f414c52454144595f41436044820152661512559055115160ca1b60648201526084016103ff565b6001541561093457600180546000919061088b908290610d98565b8154811061089b5761089b610d6c565b90600052602060002090600591828204019190066006029054906101000a900465ffffffffffff1690506108da828265ffffffffffff90811691161190565b6109325760405162461bcd60e51b8152602060048201526024808201527f4552524f523a56524e2d3030323a56455253494f4e5f4e4f545f494e4352454160448201526353494e4760e01b60648201526084016103ff565b505b60018054808201825560009190915260058082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805465ffffffffffff808616600694909506939093026101000a848102930219169190911790556040805160a0810182529182526001600160a01b038086166020840152841690820152606081016109bf4390565b63ffffffff1681526020014264ffffffffff90811690915265ffffffffffff8084166000908152602081815260409182902085518154928701516001600160a01b039081166601000000000000026001600160d01b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c01b0264ffffffffff60c01b1963ffffffff909716600160a01b026001600160c01b031990961692909416919091179390931793909316179055517ff7b17693e830f8b239607e857ac81b076450829d544c053d533d1b278d18cd8990610ad09083908690869065ffffffffffff9390931683526001600160a01b03918216602084015216604082015260600190565b60405180910390a1505050565b600061ffff8481169084811690841680610b0d63ffff0000601089901b1665ffff0000000060208b901b16610dab565b610b179190610dab565b979650505050505050565b600254610100900460ff1661