5708 lines
230 KiB
JSON
5708 lines
230 KiB
JSON
{
|
|
"contractName": "ContractRegistryClient",
|
|
"abi": [
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "_prevOwner",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "_newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnerUpdate",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "acceptOwnership",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "newOwner",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"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": "prevRegistry",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IContractRegistry",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "registry",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IContractRegistry",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "transferOwnership",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "updateRegistry",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "restoreRegistry",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "_onlyOwnerCanUpdateRegistry",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "restrictRegistryUpdate",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"OwnerUpdate\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"newOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"onlyOwnerCanUpdateRegistry\",\"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\":\"prevRegistry\",\"outputs\":[{\"internalType\":\"contract IContractRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IContractRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"restoreRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_onlyOwnerCanUpdateRegistry\",\"type\":\"bool\"}],\"name\":\"restrictRegistryUpdate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Base contract for ContractRegistry clients\",\"kind\":\"dev\",\"methods\":{\"acceptOwnership()\":{\"details\":\"used by a new owner to accept an ownership transfer\"},\"constructor\":{\"details\":\"initializes a new ContractRegistryClient instance\",\"params\":{\"_registry\":\"address of a contract-registry contract\"}},\"restoreRegistry()\":{\"details\":\"restores the previous contract-registry\"},\"restrictRegistryUpdate(bool)\":{\"details\":\"restricts the permission to update the contract-registry\",\"params\":{\"_onlyOwnerCanUpdateRegistry\":\"indicates whether or not permission is restricted to owner only\"}},\"transferOwnership(address)\":{\"details\":\"allows transferring the contract ownership the new owner still needs to accept the transfer can only be called by the contract owner\",\"params\":{\"_newOwner\":\"new contract owner\"}},\"updateRegistry()\":{\"details\":\"updates to the new contract-registry\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol\":\"ContractRegistryClient\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol\":{\"keccak256\":\"0x74caf88eff1cb113ad8277df9ba7933a6f1e0deea8fd1855157def3be833b859\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://c7793c9f245736cd8413bc8c4b5c40b67949cbee32289a16d29c83cf59396ad6\",\"dweb:/ipfs/QmWony7b1buUrGnE32gjLAnSwkBYMrJ68vUcCwDMmp3MbJ\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Owned.sol\":{\"keccak256\":\"0x6ef69d9dcc80a8a36d5eb37783375cd5e4831c6d20c723fa6f6b6a06c0aeb53d\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://5a5d087e2c5b47739615ef22e1f29749de44b43c9a37cfae32b3dfc498a258c4\",\"dweb:/ipfs/Qmd1mXKEQbmBxqHk326LGVzNoayXsam8gZNecknnYpBnyh\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol\":{\"keccak256\":\"0x073efa69fcd6b5e60f841b28b366d63b62ff48ab12a06ce3f5a7f41afd6ce885\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://e8b8ecb2d29197ca77f0ed98f728ace54e6edcfdf5cd1194ae22701607eaf608\",\"dweb:/ipfs/QmcsR6Q35Hurh3TrPkYAboicz9bQQoGCWmZLzUCDyhotH8\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IContractRegistry.sol\":{\"keccak256\":\"0x3551889a83738b621c29ed66f1ecb6a843cca4217e54c9357198559b9cc92259\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://231a59c8f2665adeda8c7e6930832409c9b991fd27ad84b3a24335e7bf269bbe\",\"dweb:/ipfs/QmeJJbn1EAUbZenruTEdJAnwUn3dxsVNeJvxPe81qKEGqL\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IOwned.sol\":{\"keccak256\":\"0xc60a9d197abc28c1906ed4d18b59caa0242db754a0e1f67af6e6277593530dae\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://a8c6f3e6525a81a5165ccbf04f73f6c389c14b74135d11a7b5f70b1c9bdac75c\",\"dweb:/ipfs/QmaPu4Z7yUPc9sMADmoTZVY6AnyDSYHtNNCx3mm4VkJwhP\"]}},\"version\":1}",
|
|
"bytecode": "0x",
|
|
"deployedBytecode": "0x",
|
|
"immutableReferences": {},
|
|
"sourceMap": "",
|
|
"deployedSourceMap": "",
|
|
"source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\r\npragma solidity 0.6.12;\r\nimport \"./Owned.sol\";\r\nimport \"./Utils.sol\";\r\nimport \"./interfaces/IContractRegistry.sol\";\r\n\r\n/**\r\n * @dev Base contract for ContractRegistry clients\r\n*/\r\ncontract ContractRegistryClient is Owned, Utils {\r\n bytes32 internal constant CONTRACT_REGISTRY = \"ContractRegistry\";\r\n bytes32 internal constant BANCOR_NETWORK = \"BancorNetwork\";\r\n bytes32 internal constant BANCOR_FORMULA = \"BancorFormula\";\r\n bytes32 internal constant CONVERTER_FACTORY = \"ConverterFactory\";\r\n bytes32 internal constant CONVERSION_PATH_FINDER = \"ConversionPathFinder\";\r\n bytes32 internal constant CONVERTER_UPGRADER = \"BancorConverterUpgrader\";\r\n bytes32 internal constant CONVERTER_REGISTRY = \"BancorConverterRegistry\";\r\n bytes32 internal constant CONVERTER_REGISTRY_DATA = \"BancorConverterRegistryData\";\r\n bytes32 internal constant BNT_TOKEN = \"BNTToken\";\r\n bytes32 internal constant BANCOR_X = \"BancorX\";\r\n bytes32 internal constant BANCOR_X_UPGRADER = \"BancorXUpgrader\";\r\n bytes32 internal constant CHAINLINK_ORACLE_WHITELIST = \"ChainlinkOracleWhitelist\";\r\n\r\n IContractRegistry public registry; // address of the current contract-registry\r\n IContractRegistry public prevRegistry; // address of the previous contract-registry\r\n bool public onlyOwnerCanUpdateRegistry; // only an owner can update the contract-registry\r\n\r\n /**\r\n * @dev verifies that the caller is mapped to the given contract name\r\n *\r\n * @param _contractName contract name\r\n */\r\n modifier only(bytes32 _contractName) {\r\n _only(_contractName);\r\n _;\r\n }\r\n\r\n // error message binary size optimization\r\n function _only(bytes32 _contractName) internal view {\r\n require(msg.sender == addressOf(_contractName), \"ERR_ACCESS_DENIED\");\r\n }\r\n\r\n /**\r\n * @dev initializes a new ContractRegistryClient instance\r\n *\r\n * @param _registry address of a contract-registry contract\r\n */\r\n constructor(IContractRegistry _registry) internal validAddress(address(_registry)) {\r\n registry = IContractRegistry(_registry);\r\n prevRegistry = IContractRegistry(_registry);\r\n }\r\n\r\n /**\r\n * @dev updates to the new contract-registry\r\n */\r\n function updateRegistry() public {\r\n // verify that this function is permitted\r\n require(msg.sender == owner || !onlyOwnerCanUpdateRegistry, \"ERR_ACCESS_DENIED\");\r\n\r\n // get the new contract-registry\r\n IContractRegistry newRegistry = IContractRegistry(addressOf(CONTRACT_REGISTRY));\r\n\r\n // verify that the new contract-registry is different and not zero\r\n require(newRegistry != registry && address(newRegistry) != address(0), \"ERR_INVALID_REGISTRY\");\r\n\r\n // verify that the new contract-registry is pointing to a non-zero contract-registry\r\n require(newRegistry.addressOf(CONTRACT_REGISTRY) != address(0), \"ERR_INVALID_REGISTRY\");\r\n\r\n // save a backup of the current contract-registry before replacing it\r\n prevRegistry = registry;\r\n\r\n // replace the current contract-registry with the new contract-registry\r\n registry = newRegistry;\r\n }\r\n\r\n /**\r\n * @dev restores the previous contract-registry\r\n */\r\n function restoreRegistry() public ownerOnly {\r\n // restore the previous contract-registry\r\n registry = prevRegistry;\r\n }\r\n\r\n /**\r\n * @dev restricts the permission to update the contract-registry\r\n *\r\n * @param _onlyOwnerCanUpdateRegistry indicates whether or not permission is restricted to owner only\r\n */\r\n function restrictRegistryUpdate(bool _onlyOwnerCanUpdateRegistry) public ownerOnly {\r\n // change the permission to update the contract-registry\r\n onlyOwnerCanUpdateRegistry = _onlyOwnerCanUpdateRegistry;\r\n }\r\n\r\n /**\r\n * @dev returns the address associated with the given contract name\r\n *\r\n * @param _contractName contract name\r\n *\r\n * @return contract address\r\n */\r\n function addressOf(bytes32 _contractName) internal view returns (address) {\r\n return registry.addressOf(_contractName);\r\n }\r\n}\r\n",
|
|
"sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
|
"ast": {
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
|
"exportedSymbols": {
|
|
"ContractRegistryClient": [
|
|
21719
|
|
]
|
|
},
|
|
"id": 21720,
|
|
"license": "SEE LICENSE IN LICENSE",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 21516,
|
|
"literals": [
|
|
"solidity",
|
|
"0.6",
|
|
".12"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "52:23:56"
|
|
},
|
|
{
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Owned.sol",
|
|
"file": "./Owned.sol",
|
|
"id": 21517,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 21720,
|
|
"sourceUnit": 21819,
|
|
"src": "77:21:56",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol",
|
|
"file": "./Utils.sol",
|
|
"id": 21518,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 21720,
|
|
"sourceUnit": 22662,
|
|
"src": "100:21:56",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IContractRegistry.sol",
|
|
"file": "./interfaces/IContractRegistry.sol",
|
|
"id": 21519,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 21720,
|
|
"sourceUnit": 22832,
|
|
"src": "123:44:56",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 21521,
|
|
"name": "Owned",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 21818,
|
|
"src": "268:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Owned_$21818",
|
|
"typeString": "contract Owned"
|
|
}
|
|
},
|
|
"id": 21522,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "268:5:56"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 21523,
|
|
"name": "Utils",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22661,
|
|
"src": "275:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Utils_$22661",
|
|
"typeString": "contract Utils"
|
|
}
|
|
},
|
|
"id": 21524,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "275:5:56"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
21818,
|
|
22661,
|
|
22847
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": {
|
|
"id": 21520,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "171:60:56",
|
|
"text": " @dev Base contract for ContractRegistry clients"
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 21719,
|
|
"linearizedBaseContracts": [
|
|
21719,
|
|
22661,
|
|
21818,
|
|
22847
|
|
],
|
|
"name": "ContractRegistryClient",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": true,
|
|
"id": 21527,
|
|
"mutability": "constant",
|
|
"name": "CONTRACT_REGISTRY",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "288:64:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21525,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "288:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436f6e74726163745265676973747279",
|
|
"id": 21526,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "334:18:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_014cc675742635098f3843c56f86f2875ab1c0e8ccd166d07159a5036b798b15",
|
|
"typeString": "literal_string \"ContractRegistry\""
|
|
},
|
|
"value": "ContractRegistry"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21530,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_NETWORK",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "359:58:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21528,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "359:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f724e6574776f726b",
|
|
"id": 21529,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "402:15:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_e13073a1961b7477f917c9e8fc77a7d64eb68a6e4f8820f41bc0991c65d90aea",
|
|
"typeString": "literal_string \"BancorNetwork\""
|
|
},
|
|
"value": "BancorNetwork"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21533,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_FORMULA",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "424:58:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21531,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "424:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72466f726d756c61",
|
|
"id": 21532,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "467:15:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f9aac19de3c8e04eb4d0548047a1cd61c5aaafde7cf99ed9c7ed906ce4dddf38",
|
|
"typeString": "literal_string \"BancorFormula\""
|
|
},
|
|
"value": "BancorFormula"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21536,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_FACTORY",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "489:64:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21534,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "489:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436f6e766572746572466163746f7279",
|
|
"id": 21535,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "535:18:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_01f892de917bf09cf6fd04f57ff78c6ca006205a8809769abbeb39a039d3d768",
|
|
"typeString": "literal_string \"ConverterFactory\""
|
|
},
|
|
"value": "ConverterFactory"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21539,
|
|
"mutability": "constant",
|
|
"name": "CONVERSION_PATH_FINDER",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "560:73:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21537,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "560:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436f6e76657273696f6e5061746846696e646572",
|
|
"id": 21538,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "611:22:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d55bb14cf5551b26acee2cc099a4125a85ce113cb3306082cd15a1b4785376f1",
|
|
"typeString": "literal_string \"ConversionPathFinder\""
|
|
},
|
|
"value": "ConversionPathFinder"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21542,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_UPGRADER",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "640:72:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21540,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "640:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72436f6e7665727465725570677261646572",
|
|
"id": 21541,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "687:25:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_e8cccdfec0e08322695b48c2ff60a2acb1243c72e02ec3a238fe40eefe726c01",
|
|
"typeString": "literal_string \"BancorConverterUpgrader\""
|
|
},
|
|
"value": "BancorConverterUpgrader"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21545,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_REGISTRY",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "719:72:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21543,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "719:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72436f6e7665727465725265676973747279",
|
|
"id": 21544,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "766:25:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_be29ba855de63e3aeb1afb9aed4122f6a4ac386581ea1b32773e72966a3749e7",
|
|
"typeString": "literal_string \"BancorConverterRegistry\""
|
|
},
|
|
"value": "BancorConverterRegistry"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21548,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_REGISTRY_DATA",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "798:81:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21546,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "798:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72436f6e766572746572526567697374727944617461",
|
|
"id": 21547,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "850:29:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f47ef61fa81526eefb8475acf271ff419a87423535a77af3ef98ebc7b31c640c",
|
|
"typeString": "literal_string \"BancorConverterRegistryData\""
|
|
},
|
|
"value": "BancorConverterRegistryData"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21551,
|
|
"mutability": "constant",
|
|
"name": "BNT_TOKEN",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "886:48:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21549,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "886:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "424e54546f6b656e",
|
|
"id": 21550,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "924:10:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_4686149f7058d2454e334cfa4ea1a3482469c64fd3d4f50dfc69716086aee66f",
|
|
"typeString": "literal_string \"BNTToken\""
|
|
},
|
|
"value": "BNTToken"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21554,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_X",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "941:46:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21552,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "941:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f7258",
|
|
"id": 21553,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "978:9:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_86ea4d05259b04f0f72cb84c9671b182b8bbe45a219bbea86edd67f80c414eb4",
|
|
"typeString": "literal_string \"BancorX\""
|
|
},
|
|
"value": "BancorX"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21557,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_X_UPGRADER",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "994:63:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21555,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "994:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72585570677261646572",
|
|
"id": 21556,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1040:17:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d5e7e6eba8567517cf1f8f313379e5a6dbd5dcff956b158cf65a32e6b2bb5fd8",
|
|
"typeString": "literal_string \"BancorXUpgrader\""
|
|
},
|
|
"value": "BancorXUpgrader"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21560,
|
|
"mutability": "constant",
|
|
"name": "CHAINLINK_ORACLE_WHITELIST",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1064:81:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21558,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1064:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436861696e6c696e6b4f7261636c6557686974656c697374",
|
|
"id": 21559,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1119:26:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f1d302dc7d7d6451424d658039558f1ea7e3cbf7255a10240557f430d300feb3",
|
|
"typeString": "literal_string \"ChainlinkOracleWhitelist\""
|
|
},
|
|
"value": "ChainlinkOracleWhitelist"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "7b103999",
|
|
"id": 21562,
|
|
"mutability": "mutable",
|
|
"name": "registry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1154:33:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21561,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "1154:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "61cd756e",
|
|
"id": 21564,
|
|
"mutability": "mutable",
|
|
"name": "prevRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1243:37:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21563,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "1243:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "2fe8a6ad",
|
|
"id": 21566,
|
|
"mutability": "mutable",
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1333:38:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 21565,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1333:4:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21576,
|
|
"nodeType": "Block",
|
|
"src": "1616:51:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21572,
|
|
"name": "_contractName",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21569,
|
|
"src": "1633:13:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 21571,
|
|
"name": "_only",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21593,
|
|
"src": "1627:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32) view"
|
|
}
|
|
},
|
|
"id": 21573,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1627:20:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21574,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1627:20:56"
|
|
},
|
|
{
|
|
"id": 21575,
|
|
"nodeType": "PlaceholderStatement",
|
|
"src": "1658:1:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21567,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1430:143:56",
|
|
"text": " @dev verifies that the caller is mapped to the given contract name\n @param _contractName contract name"
|
|
},
|
|
"id": 21577,
|
|
"name": "only",
|
|
"nodeType": "ModifierDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21570,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21569,
|
|
"mutability": "mutable",
|
|
"name": "_contractName",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21577,
|
|
"src": "1593:21:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21568,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1593:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1592:23:56"
|
|
},
|
|
"src": "1579:88:56",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21592,
|
|
"nodeType": "Block",
|
|
"src": "1774:87:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21588,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21583,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -15,
|
|
"src": "1793:3:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 21584,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1793:10:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21586,
|
|
"name": "_contractName",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21579,
|
|
"src": "1817:13:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 21585,
|
|
"name": "addressOf",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21718,
|
|
"src": "1807:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view returns (address)"
|
|
}
|
|
},
|
|
"id": 21587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1807:24:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1793:38:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f4143434553535f44454e494544",
|
|
"id": 21589,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1833:19:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
},
|
|
"value": "ERR_ACCESS_DENIED"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
}
|
|
],
|
|
"id": 21582,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "1785:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21590,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1785:68:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21591,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1785:68:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 21593,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_only",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21580,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21579,
|
|
"mutability": "mutable",
|
|
"name": "_contractName",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21593,
|
|
"src": "1737:21:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21578,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1737:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1736:23:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21581,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1774:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "1722:139:56",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21617,
|
|
"nodeType": "Block",
|
|
"src": "2111:112:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21605,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "2122:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21607,
|
|
"name": "_registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21596,
|
|
"src": "2151:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21606,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22831,
|
|
"src": "2133:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IContractRegistry_$22831_$",
|
|
"typeString": "type(contract IContractRegistry)"
|
|
}
|
|
},
|
|
"id": 21608,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2133:28:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "2122:39:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21610,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2122:39:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21615,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21611,
|
|
"name": "prevRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21564,
|
|
"src": "2172:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21613,
|
|
"name": "_registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21596,
|
|
"src": "2205:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21612,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22831,
|
|
"src": "2187:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IContractRegistry_$22831_$",
|
|
"typeString": "type(contract IContractRegistry)"
|
|
}
|
|
},
|
|
"id": 21614,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2187:28:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "2172:43:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21616,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2172:43:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21594,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1869:153:56",
|
|
"text": " @dev initializes a new ContractRegistryClient instance\n @param _registry address of a contract-registry contract"
|
|
},
|
|
"id": 21618,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21601,
|
|
"name": "_registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21596,
|
|
"src": "2099:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21600,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2091:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21599,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2091:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21602,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2091:18:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"id": 21603,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 21598,
|
|
"name": "validAddress",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22618,
|
|
"src": "2078:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$_t_address_$",
|
|
"typeString": "modifier (address)"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "2078:32:56"
|
|
}
|
|
],
|
|
"name": "",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21597,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21596,
|
|
"mutability": "mutable",
|
|
"name": "_registry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21618,
|
|
"src": "2040:27:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21595,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "2040:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2039:29:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21604,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2111:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "2028:195:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21679,
|
|
"nodeType": "Block",
|
|
"src": "2333:892:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 21629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21626,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21623,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -15,
|
|
"src": "2403:3:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 21624,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2403:10:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21625,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21728,
|
|
"src": "2417:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "2403:19:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "2426:27:56",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21627,
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21566,
|
|
"src": "2427:26:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "2403:50:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f4143434553535f44454e494544",
|
|
"id": 21630,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2455:19:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
},
|
|
"value": "ERR_ACCESS_DENIED"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
}
|
|
],
|
|
"id": 21622,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "2395:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21631,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2395:80:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21632,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2395:80:56"
|
|
},
|
|
{
|
|
"assignments": [
|
|
21634
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 21634,
|
|
"mutability": "mutable",
|
|
"name": "newRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21679,
|
|
"src": "2530:29:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21633,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "2530:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 21640,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21637,
|
|
"name": "CONTRACT_REGISTRY",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21527,
|
|
"src": "2590:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 21636,
|
|
"name": "addressOf",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21718,
|
|
"src": "2580:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view returns (address)"
|
|
}
|
|
},
|
|
"id": 21638,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2580:28:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 21635,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22831,
|
|
"src": "2562:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IContractRegistry_$22831_$",
|
|
"typeString": "type(contract IContractRegistry)"
|
|
}
|
|
},
|
|
"id": 21639,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2562:47:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2530:79:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 21654,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"id": 21644,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21642,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "2706:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21643,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "2721:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "2706:23:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&&",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21647,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "2741:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21646,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2733:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21645,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2733:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21648,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2733:20:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 21651,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2765:1:56",
|
|
"subdenomination": null,
|
|
"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": 21650,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2757:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21649,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2757:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21652,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2757:10:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"src": "2733:34:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "2706:61:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f494e56414c49445f5245474953545259",
|
|
"id": 21655,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2769:22:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
},
|
|
"value": "ERR_INVALID_REGISTRY"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
}
|
|
],
|
|
"id": 21641,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "2698:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21656,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2698:94:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21657,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2698:94:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21667,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21661,
|
|
"name": "CONTRACT_REGISTRY",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21527,
|
|
"src": "2929:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21659,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "2907:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21660,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "addressOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22830,
|
|
"src": "2907:21:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 21662,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2907:40:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 21665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2959:1:56",
|
|
"subdenomination": null,
|
|
"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": 21664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2951:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21663,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2951:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21666,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2951:10:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"src": "2907:54:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f494e56414c49445f5245474953545259",
|
|
"id": 21668,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2963:22:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
},
|
|
"value": "ERR_INVALID_REGISTRY"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
}
|
|
],
|
|
"id": 21658,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "2899:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21669,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2899:87:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21670,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2899:87:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21671,
|
|
"name": "prevRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21564,
|
|
"src": "3078:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21672,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "3093:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "3078:23:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21674,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3078:23:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21677,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21675,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "3195:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21676,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "3206:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "3195:22:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21678,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3195:22:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21619,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2231:63:56",
|
|
"text": " @dev updates to the new contract-registry"
|
|
},
|
|
"functionSelector": "49d10b64",
|
|
"id": 21680,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "updateRegistry",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21620,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2323:2:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21621,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2333:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "2300:925:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21690,
|
|
"nodeType": "Block",
|
|
"src": "3348:93:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21688,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21686,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "3410:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21687,
|
|
"name": "prevRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21564,
|
|
"src": "3421:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "3410:23:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21689,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3410:23:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21681,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3233:65:56",
|
|
"text": " @dev restores the previous contract-registry"
|
|
},
|
|
"functionSelector": "b4a176d3",
|
|
"id": 21691,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 21684,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 21683,
|
|
"name": "ownerOnly",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21754,
|
|
"src": "3338:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "3338:9:56"
|
|
}
|
|
],
|
|
"name": "restoreRegistry",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21682,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3328:2:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21685,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3348:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "3304:137:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21703,
|
|
"nodeType": "Block",
|
|
"src": "3738:141:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21699,
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21566,
|
|
"src": "3815:26:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21700,
|
|
"name": "_onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21694,
|
|
"src": "3844:27:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "3815:56:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 21702,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3815:56:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21692,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3449:200:56",
|
|
"text": " @dev restricts the permission to update the contract-registry\n @param _onlyOwnerCanUpdateRegistry indicates whether or not permission is restricted to owner only"
|
|
},
|
|
"functionSelector": "024c7ec7",
|
|
"id": 21704,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 21697,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 21696,
|
|
"name": "ownerOnly",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21754,
|
|
"src": "3728:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "3728:9:56"
|
|
}
|
|
],
|
|
"name": "restrictRegistryUpdate",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21695,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21694,
|
|
"mutability": "mutable",
|
|
"name": "_onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21704,
|
|
"src": "3687:32:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 21693,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3687:4:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3686:34:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21698,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3738:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "3655:224:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21717,
|
|
"nodeType": "Block",
|
|
"src": "4151:59:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21714,
|
|
"name": "_contractName",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21707,
|
|
"src": "4188:13:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21712,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "4169:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21713,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "addressOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22830,
|
|
"src": "4169:18:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 21715,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4169:33:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"functionReturnParameters": 21711,
|
|
"id": 21716,
|
|
"nodeType": "Return",
|
|
"src": "4162:40:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21705,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3887:184:56",
|
|
"text": " @dev returns the address associated with the given contract name\n @param _contractName contract name\n @return contract address"
|
|
},
|
|
"id": 21718,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "addressOf",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21708,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21707,
|
|
"mutability": "mutable",
|
|
"name": "_contractName",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21718,
|
|
"src": "4096:21:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21706,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4096:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4095:23:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21711,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21710,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21718,
|
|
"src": "4142:7:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 21709,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4142:7:56",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4141:9:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "4077:133:56",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 21720,
|
|
"src": "233:3980:56"
|
|
}
|
|
],
|
|
"src": "52:4163:56"
|
|
},
|
|
"legacyAST": {
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/ContractRegistryClient.sol",
|
|
"exportedSymbols": {
|
|
"ContractRegistryClient": [
|
|
21719
|
|
]
|
|
},
|
|
"id": 21720,
|
|
"license": "SEE LICENSE IN LICENSE",
|
|
"nodeType": "SourceUnit",
|
|
"nodes": [
|
|
{
|
|
"id": 21516,
|
|
"literals": [
|
|
"solidity",
|
|
"0.6",
|
|
".12"
|
|
],
|
|
"nodeType": "PragmaDirective",
|
|
"src": "52:23:56"
|
|
},
|
|
{
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Owned.sol",
|
|
"file": "./Owned.sol",
|
|
"id": 21517,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 21720,
|
|
"sourceUnit": 21819,
|
|
"src": "77:21:56",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol",
|
|
"file": "./Utils.sol",
|
|
"id": 21518,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 21720,
|
|
"sourceUnit": 22662,
|
|
"src": "100:21:56",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/interfaces/IContractRegistry.sol",
|
|
"file": "./interfaces/IContractRegistry.sol",
|
|
"id": 21519,
|
|
"nodeType": "ImportDirective",
|
|
"scope": 21720,
|
|
"sourceUnit": 22832,
|
|
"src": "123:44:56",
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 21521,
|
|
"name": "Owned",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 21818,
|
|
"src": "268:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Owned_$21818",
|
|
"typeString": "contract Owned"
|
|
}
|
|
},
|
|
"id": 21522,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "268:5:56"
|
|
},
|
|
{
|
|
"arguments": null,
|
|
"baseName": {
|
|
"contractScope": null,
|
|
"id": 21523,
|
|
"name": "Utils",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22661,
|
|
"src": "275:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Utils_$22661",
|
|
"typeString": "contract Utils"
|
|
}
|
|
},
|
|
"id": 21524,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "275:5:56"
|
|
}
|
|
],
|
|
"contractDependencies": [
|
|
21818,
|
|
22661,
|
|
22847
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": {
|
|
"id": 21520,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "171:60:56",
|
|
"text": " @dev Base contract for ContractRegistry clients"
|
|
},
|
|
"fullyImplemented": true,
|
|
"id": 21719,
|
|
"linearizedBaseContracts": [
|
|
21719,
|
|
22661,
|
|
21818,
|
|
22847
|
|
],
|
|
"name": "ContractRegistryClient",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes": [
|
|
{
|
|
"constant": true,
|
|
"id": 21527,
|
|
"mutability": "constant",
|
|
"name": "CONTRACT_REGISTRY",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "288:64:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21525,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "288:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436f6e74726163745265676973747279",
|
|
"id": 21526,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "334:18:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_014cc675742635098f3843c56f86f2875ab1c0e8ccd166d07159a5036b798b15",
|
|
"typeString": "literal_string \"ContractRegistry\""
|
|
},
|
|
"value": "ContractRegistry"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21530,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_NETWORK",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "359:58:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21528,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "359:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f724e6574776f726b",
|
|
"id": 21529,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "402:15:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_e13073a1961b7477f917c9e8fc77a7d64eb68a6e4f8820f41bc0991c65d90aea",
|
|
"typeString": "literal_string \"BancorNetwork\""
|
|
},
|
|
"value": "BancorNetwork"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21533,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_FORMULA",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "424:58:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21531,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "424:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72466f726d756c61",
|
|
"id": 21532,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "467:15:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f9aac19de3c8e04eb4d0548047a1cd61c5aaafde7cf99ed9c7ed906ce4dddf38",
|
|
"typeString": "literal_string \"BancorFormula\""
|
|
},
|
|
"value": "BancorFormula"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21536,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_FACTORY",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "489:64:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21534,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "489:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436f6e766572746572466163746f7279",
|
|
"id": 21535,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "535:18:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_01f892de917bf09cf6fd04f57ff78c6ca006205a8809769abbeb39a039d3d768",
|
|
"typeString": "literal_string \"ConverterFactory\""
|
|
},
|
|
"value": "ConverterFactory"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21539,
|
|
"mutability": "constant",
|
|
"name": "CONVERSION_PATH_FINDER",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "560:73:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21537,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "560:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436f6e76657273696f6e5061746846696e646572",
|
|
"id": 21538,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "611:22:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d55bb14cf5551b26acee2cc099a4125a85ce113cb3306082cd15a1b4785376f1",
|
|
"typeString": "literal_string \"ConversionPathFinder\""
|
|
},
|
|
"value": "ConversionPathFinder"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21542,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_UPGRADER",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "640:72:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21540,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "640:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72436f6e7665727465725570677261646572",
|
|
"id": 21541,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "687:25:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_e8cccdfec0e08322695b48c2ff60a2acb1243c72e02ec3a238fe40eefe726c01",
|
|
"typeString": "literal_string \"BancorConverterUpgrader\""
|
|
},
|
|
"value": "BancorConverterUpgrader"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21545,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_REGISTRY",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "719:72:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21543,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "719:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72436f6e7665727465725265676973747279",
|
|
"id": 21544,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "766:25:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_be29ba855de63e3aeb1afb9aed4122f6a4ac386581ea1b32773e72966a3749e7",
|
|
"typeString": "literal_string \"BancorConverterRegistry\""
|
|
},
|
|
"value": "BancorConverterRegistry"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21548,
|
|
"mutability": "constant",
|
|
"name": "CONVERTER_REGISTRY_DATA",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "798:81:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21546,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "798:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72436f6e766572746572526567697374727944617461",
|
|
"id": 21547,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "850:29:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f47ef61fa81526eefb8475acf271ff419a87423535a77af3ef98ebc7b31c640c",
|
|
"typeString": "literal_string \"BancorConverterRegistryData\""
|
|
},
|
|
"value": "BancorConverterRegistryData"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21551,
|
|
"mutability": "constant",
|
|
"name": "BNT_TOKEN",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "886:48:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21549,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "886:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "424e54546f6b656e",
|
|
"id": 21550,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "924:10:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_4686149f7058d2454e334cfa4ea1a3482469c64fd3d4f50dfc69716086aee66f",
|
|
"typeString": "literal_string \"BNTToken\""
|
|
},
|
|
"value": "BNTToken"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21554,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_X",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "941:46:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21552,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "941:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f7258",
|
|
"id": 21553,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "978:9:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_86ea4d05259b04f0f72cb84c9671b182b8bbe45a219bbea86edd67f80c414eb4",
|
|
"typeString": "literal_string \"BancorX\""
|
|
},
|
|
"value": "BancorX"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21557,
|
|
"mutability": "constant",
|
|
"name": "BANCOR_X_UPGRADER",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "994:63:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21555,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "994:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "42616e636f72585570677261646572",
|
|
"id": 21556,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1040:17:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_d5e7e6eba8567517cf1f8f313379e5a6dbd5dcff956b158cf65a32e6b2bb5fd8",
|
|
"typeString": "literal_string \"BancorXUpgrader\""
|
|
},
|
|
"value": "BancorXUpgrader"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": true,
|
|
"id": 21560,
|
|
"mutability": "constant",
|
|
"name": "CHAINLINK_ORACLE_WHITELIST",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1064:81:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21558,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1064:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": {
|
|
"argumentTypes": null,
|
|
"hexValue": "436861696e6c696e6b4f7261636c6557686974656c697374",
|
|
"id": 21559,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1119:26:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f1d302dc7d7d6451424d658039558f1ea7e3cbf7255a10240557f430d300feb3",
|
|
"typeString": "literal_string \"ChainlinkOracleWhitelist\""
|
|
},
|
|
"value": "ChainlinkOracleWhitelist"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "7b103999",
|
|
"id": 21562,
|
|
"mutability": "mutable",
|
|
"name": "registry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1154:33:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21561,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "1154:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "61cd756e",
|
|
"id": 21564,
|
|
"mutability": "mutable",
|
|
"name": "prevRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1243:37:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21563,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "1243:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "2fe8a6ad",
|
|
"id": 21566,
|
|
"mutability": "mutable",
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21719,
|
|
"src": "1333:38:56",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 21565,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1333:4:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21576,
|
|
"nodeType": "Block",
|
|
"src": "1616:51:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21572,
|
|
"name": "_contractName",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21569,
|
|
"src": "1633:13:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 21571,
|
|
"name": "_only",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21593,
|
|
"src": "1627:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$",
|
|
"typeString": "function (bytes32) view"
|
|
}
|
|
},
|
|
"id": 21573,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1627:20:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21574,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1627:20:56"
|
|
},
|
|
{
|
|
"id": 21575,
|
|
"nodeType": "PlaceholderStatement",
|
|
"src": "1658:1:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21567,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1430:143:56",
|
|
"text": " @dev verifies that the caller is mapped to the given contract name\n @param _contractName contract name"
|
|
},
|
|
"id": 21577,
|
|
"name": "only",
|
|
"nodeType": "ModifierDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21570,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21569,
|
|
"mutability": "mutable",
|
|
"name": "_contractName",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21577,
|
|
"src": "1593:21:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21568,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1593:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1592:23:56"
|
|
},
|
|
"src": "1579:88:56",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21592,
|
|
"nodeType": "Block",
|
|
"src": "1774:87:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21588,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21583,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -15,
|
|
"src": "1793:3:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 21584,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "1793:10:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21586,
|
|
"name": "_contractName",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21579,
|
|
"src": "1817:13:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 21585,
|
|
"name": "addressOf",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21718,
|
|
"src": "1807:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view returns (address)"
|
|
}
|
|
},
|
|
"id": 21587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1807:24:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "1793:38:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f4143434553535f44454e494544",
|
|
"id": 21589,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1833:19:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
},
|
|
"value": "ERR_ACCESS_DENIED"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
}
|
|
],
|
|
"id": 21582,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "1785:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21590,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1785:68:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21591,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1785:68:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": null,
|
|
"id": 21593,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "_only",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21580,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21579,
|
|
"mutability": "mutable",
|
|
"name": "_contractName",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21593,
|
|
"src": "1737:21:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21578,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1737:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "1736:23:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21581,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "1774:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "1722:139:56",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21617,
|
|
"nodeType": "Block",
|
|
"src": "2111:112:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21609,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21605,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "2122:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21607,
|
|
"name": "_registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21596,
|
|
"src": "2151:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21606,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22831,
|
|
"src": "2133:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IContractRegistry_$22831_$",
|
|
"typeString": "type(contract IContractRegistry)"
|
|
}
|
|
},
|
|
"id": 21608,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2133:28:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "2122:39:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21610,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2122:39:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21615,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21611,
|
|
"name": "prevRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21564,
|
|
"src": "2172:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21613,
|
|
"name": "_registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21596,
|
|
"src": "2205:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21612,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22831,
|
|
"src": "2187:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IContractRegistry_$22831_$",
|
|
"typeString": "type(contract IContractRegistry)"
|
|
}
|
|
},
|
|
"id": 21614,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2187:28:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "2172:43:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21616,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2172:43:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21594,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "1869:153:56",
|
|
"text": " @dev initializes a new ContractRegistryClient instance\n @param _registry address of a contract-registry contract"
|
|
},
|
|
"id": 21618,
|
|
"implemented": true,
|
|
"kind": "constructor",
|
|
"modifiers": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21601,
|
|
"name": "_registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21596,
|
|
"src": "2099:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21600,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2091:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21599,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2091:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21602,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2091:18:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"id": 21603,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 21598,
|
|
"name": "validAddress",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22618,
|
|
"src": "2078:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$_t_address_$",
|
|
"typeString": "modifier (address)"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "2078:32:56"
|
|
}
|
|
],
|
|
"name": "",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21597,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21596,
|
|
"mutability": "mutable",
|
|
"name": "_registry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21618,
|
|
"src": "2040:27:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21595,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "2040:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2039:29:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21604,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2111:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "2028:195:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21679,
|
|
"nodeType": "Block",
|
|
"src": "2333:892:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 21629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21626,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21623,
|
|
"name": "msg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -15,
|
|
"src": "2403:3:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_magic_message",
|
|
"typeString": "msg"
|
|
}
|
|
},
|
|
"id": 21624,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "sender",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": null,
|
|
"src": "2403:10:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21625,
|
|
"name": "owner",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21728,
|
|
"src": "2417:5:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"src": "2403:19:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "||",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "!",
|
|
"prefix": true,
|
|
"src": "2426:27:56",
|
|
"subExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21627,
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21566,
|
|
"src": "2427:26:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "2403:50:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f4143434553535f44454e494544",
|
|
"id": 21630,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2455:19:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
},
|
|
"value": "ERR_ACCESS_DENIED"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_f5894269650d3e1726ed81a4f48c5b62c7dd6fa025b89d639952a7012960d666",
|
|
"typeString": "literal_string \"ERR_ACCESS_DENIED\""
|
|
}
|
|
],
|
|
"id": 21622,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "2395:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21631,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2395:80:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21632,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2395:80:56"
|
|
},
|
|
{
|
|
"assignments": [
|
|
21634
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 21634,
|
|
"mutability": "mutable",
|
|
"name": "newRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21679,
|
|
"src": "2530:29:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"typeName": {
|
|
"contractScope": null,
|
|
"id": 21633,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "UserDefinedTypeName",
|
|
"referencedDeclaration": 22831,
|
|
"src": "2530:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 21640,
|
|
"initialValue": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21637,
|
|
"name": "CONTRACT_REGISTRY",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21527,
|
|
"src": "2590:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"id": 21636,
|
|
"name": "addressOf",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21718,
|
|
"src": "2580:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view returns (address)"
|
|
}
|
|
},
|
|
"id": 21638,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2580:28:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
],
|
|
"id": 21635,
|
|
"name": "IContractRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22831,
|
|
"src": "2562:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IContractRegistry_$22831_$",
|
|
"typeString": "type(contract IContractRegistry)"
|
|
}
|
|
},
|
|
"id": 21639,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2562:47:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2530:79:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 21654,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
},
|
|
"id": 21644,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21642,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "2706:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"id": 21643,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "2721:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "2706:23:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&&",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21647,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "2741:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
],
|
|
"id": 21646,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2733:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21645,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2733:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21648,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2733:20:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 21651,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2765:1:56",
|
|
"subdenomination": null,
|
|
"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": 21650,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2757:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21649,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2757:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21652,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2757:10:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"src": "2733:34:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "2706:61:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f494e56414c49445f5245474953545259",
|
|
"id": 21655,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2769:22:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
},
|
|
"value": "ERR_INVALID_REGISTRY"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
}
|
|
],
|
|
"id": 21641,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "2698:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21656,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2698:94:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21657,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2698:94:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"commonType": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"id": 21667,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21661,
|
|
"name": "CONTRACT_REGISTRY",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21527,
|
|
"src": "2929:17:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21659,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "2907:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21660,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "addressOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22830,
|
|
"src": "2907:21:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 21662,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2907:40:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "30",
|
|
"id": 21665,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2959:1:56",
|
|
"subdenomination": null,
|
|
"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": 21664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2951:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName": {
|
|
"id": 21663,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2951:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": null,
|
|
"typeString": null
|
|
}
|
|
}
|
|
},
|
|
"id": 21666,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2951:10:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"src": "2907:54:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"argumentTypes": null,
|
|
"hexValue": "4552525f494e56414c49445f5245474953545259",
|
|
"id": 21668,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2963:22:56",
|
|
"subdenomination": null,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
},
|
|
"value": "ERR_INVALID_REGISTRY"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_75b9212739e68843904752f41fb54f1609594bc4b84683da2a4384aeff5c191d",
|
|
"typeString": "literal_string \"ERR_INVALID_REGISTRY\""
|
|
}
|
|
],
|
|
"id": 21658,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "2899:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 21669,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2899:87:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 21670,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2899:87:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21673,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21671,
|
|
"name": "prevRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21564,
|
|
"src": "3078:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21672,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "3093:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "3078:23:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21674,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3078:23:56"
|
|
},
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21677,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21675,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "3195:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21676,
|
|
"name": "newRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21634,
|
|
"src": "3206:11:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "3195:22:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21678,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3195:22:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21619,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "2231:63:56",
|
|
"text": " @dev updates to the new contract-registry"
|
|
},
|
|
"functionSelector": "49d10b64",
|
|
"id": 21680,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "updateRegistry",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21620,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2323:2:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21621,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2333:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "2300:925:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21690,
|
|
"nodeType": "Block",
|
|
"src": "3348:93:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21688,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21686,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "3410:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21687,
|
|
"name": "prevRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21564,
|
|
"src": "3421:12:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"src": "3410:23:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21689,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3410:23:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21681,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3233:65:56",
|
|
"text": " @dev restores the previous contract-registry"
|
|
},
|
|
"functionSelector": "b4a176d3",
|
|
"id": 21691,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 21684,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 21683,
|
|
"name": "ownerOnly",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21754,
|
|
"src": "3338:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "3338:9:56"
|
|
}
|
|
],
|
|
"name": "restoreRegistry",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21682,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3328:2:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21685,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3348:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "3304:137:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21703,
|
|
"nodeType": "Block",
|
|
"src": "3738:141:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21701,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21699,
|
|
"name": "onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21566,
|
|
"src": "3815:26:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"argumentTypes": null,
|
|
"id": 21700,
|
|
"name": "_onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21694,
|
|
"src": "3844:27:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "3815:56:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 21702,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3815:56:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21692,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3449:200:56",
|
|
"text": " @dev restricts the permission to update the contract-registry\n @param _onlyOwnerCanUpdateRegistry indicates whether or not permission is restricted to owner only"
|
|
},
|
|
"functionSelector": "024c7ec7",
|
|
"id": 21704,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [
|
|
{
|
|
"arguments": null,
|
|
"id": 21697,
|
|
"modifierName": {
|
|
"argumentTypes": null,
|
|
"id": 21696,
|
|
"name": "ownerOnly",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21754,
|
|
"src": "3728:9:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_modifier$__$",
|
|
"typeString": "modifier ()"
|
|
}
|
|
},
|
|
"nodeType": "ModifierInvocation",
|
|
"src": "3728:9:56"
|
|
}
|
|
],
|
|
"name": "restrictRegistryUpdate",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21695,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21694,
|
|
"mutability": "mutable",
|
|
"name": "_onlyOwnerCanUpdateRegistry",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21704,
|
|
"src": "3687:32:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"typeName": {
|
|
"id": 21693,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3687:4:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "3686:34:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21698,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3738:0:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "3655:224:56",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 21717,
|
|
"nodeType": "Block",
|
|
"src": "4151:59:56",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"arguments": [
|
|
{
|
|
"argumentTypes": null,
|
|
"id": 21714,
|
|
"name": "_contractName",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21707,
|
|
"src": "4188:13:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": null,
|
|
"id": 21712,
|
|
"name": "registry",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 21562,
|
|
"src": "4169:8:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_IContractRegistry_$22831",
|
|
"typeString": "contract IContractRegistry"
|
|
}
|
|
},
|
|
"id": 21713,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberName": "addressOf",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22830,
|
|
"src": "4169:18:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
|
|
"typeString": "function (bytes32) view external returns (address)"
|
|
}
|
|
},
|
|
"id": 21715,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4169:33:56",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"functionReturnParameters": 21711,
|
|
"id": 21716,
|
|
"nodeType": "Return",
|
|
"src": "4162:40:56"
|
|
}
|
|
]
|
|
},
|
|
"documentation": {
|
|
"id": 21705,
|
|
"nodeType": "StructuredDocumentation",
|
|
"src": "3887:184:56",
|
|
"text": " @dev returns the address associated with the given contract name\n @param _contractName contract name\n @return contract address"
|
|
},
|
|
"id": 21718,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "addressOf",
|
|
"nodeType": "FunctionDefinition",
|
|
"overrides": null,
|
|
"parameters": {
|
|
"id": 21708,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21707,
|
|
"mutability": "mutable",
|
|
"name": "_contractName",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21718,
|
|
"src": "4096:21:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
},
|
|
"typeName": {
|
|
"id": 21706,
|
|
"name": "bytes32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4096:7:56",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bytes32",
|
|
"typeString": "bytes32"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4095:23:56"
|
|
},
|
|
"returnParameters": {
|
|
"id": 21711,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 21710,
|
|
"mutability": "mutable",
|
|
"name": "",
|
|
"nodeType": "VariableDeclaration",
|
|
"overrides": null,
|
|
"scope": 21718,
|
|
"src": "4142:7:56",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName": {
|
|
"id": 21709,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "4142:7:56",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"value": null,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "4141:9:56"
|
|
},
|
|
"scope": 21719,
|
|
"src": "4077:133:56",
|
|
"stateMutability": "view",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"scope": 21720,
|
|
"src": "233:3980:56"
|
|
}
|
|
],
|
|
"src": "52:4163:56"
|
|
},
|
|
"compiler": {
|
|
"name": "solc",
|
|
"version": "0.6.12+commit.27d51765.Emscripten.clang"
|
|
},
|
|
"networks": {},
|
|
"schemaVersion": "3.2.3",
|
|
"updatedAt": "2020-10-20T08:24:47.839Z",
|
|
"devdoc": {
|
|
"details": "Base contract for ContractRegistry clients",
|
|
"kind": "dev",
|
|
"methods": {
|
|
"acceptOwnership()": {
|
|
"details": "used by a new owner to accept an ownership transfer"
|
|
},
|
|
"constructor": {
|
|
"details": "initializes a new ContractRegistryClient instance",
|
|
"params": {
|
|
"_registry": "address of a contract-registry contract"
|
|
}
|
|
},
|
|
"restoreRegistry()": {
|
|
"details": "restores the previous contract-registry"
|
|
},
|
|
"restrictRegistryUpdate(bool)": {
|
|
"details": "restricts the permission to update the contract-registry",
|
|
"params": {
|
|
"_onlyOwnerCanUpdateRegistry": "indicates whether or not permission is restricted to owner only"
|
|
}
|
|
},
|
|
"transferOwnership(address)": {
|
|
"details": "allows transferring the contract ownership the new owner still needs to accept the transfer can only be called by the contract owner",
|
|
"params": {
|
|
"_newOwner": "new contract owner"
|
|
}
|
|
},
|
|
"updateRegistry()": {
|
|
"details": "updates to the new contract-registry"
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
} |