UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

2,100 lines (2,099 loc) 2.2 MB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "address", "name": "updatedBy", "type": "address" } ], "name": "LogChainRegistryObjectDataUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "indexed": false, "internalType": "ObjectType", "name": "objectType", "type": "uint8" }, { "indexed": false, "internalType": "enum IChainRegistry.ObjectState", "name": "state", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "to", "type": "address" } ], "name": "LogChainRegistryObjectRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "enum IChainRegistry.ObjectState", "name": "stateNew", "type": "uint8" }, { "indexed": false, "internalType": "enum IChainRegistry.ObjectState", "name": "stateOld", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "setBy", "type": "address" } ], "name": "LogChainRegistryObjectStateSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "Version", "name": "version", "type": "uint48" }, { "indexed": false, "internalType": "address", "name": "implementation", "type": "address" }, { "indexed": false, "internalType": "address", "name": "activatedBy", "type": "address" } ], "name": "LogVersionableActivated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "BASE_DID", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BUNDLE", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CHAIN", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "INSTANCE", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ORACLE", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "POLICY", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PRODUCT", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PROTOCOL", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REGISTRY", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "RISKPOOL", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "STAKE", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TOKEN", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "UNDEFINED", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "address", "name": "activatedBy", "type": "address" } ], "name": "activate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "address", "name": "newOwner", "type": "address" }, { "internalType": "address", "name": "activatedBy", "type": "address" } ], "name": "activateAndSetOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "blockNumber", "outputs": [ { "internalType": "Blocknumber", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "chains", "outputs": [ { "internalType": "uint256", "name": "numberOfChains", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "decodeBundleData", "outputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "internalType": "uint256", "name": "bundleId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "string", "name": "displayName", "type": "string" }, { "internalType": "uint256", "name": "expiryAt", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "decodeComponentData", "outputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "uint256", "name": "componentId", "type": "uint256" }, { "internalType": "address", "name": "token", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "decodeInstanceData", "outputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "address", "name": "registry", "type": "address" }, { "internalType": "string", "name": "displayName", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "decodeRegistryData", "outputs": [ { "internalType": "address", "name": "registry", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "decodeStakeData", "outputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" }, { "internalType": "ObjectType", "name": "targetType", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "decodeTokenData", "outputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "exists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "uint256", "name": "lifetimeExtension", "type": "uint256" } ], "name": "extendBundleLifetime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "uint256", "name": "bundleId", "type": "uint256" } ], "name": "getBundleNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "getChainId", "outputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" } ], "name": "getChainNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "getComponentNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" } ], "name": "getInstanceNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" } ], "name": "getInstanceServiceFacade", "outputs": [ { "internalType": "contract IInstanceServiceFacade", "name": "instanceService", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNft", "outputs": [ { "internalType": "contract IChainNft", "name": "nft", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "ObjectType", "name": "t", "type": "uint8" }, { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "getNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "getNftInfo", "outputs": [ { "components": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "ObjectType", "name": "objectType", "type": "uint8" }, { "internalType": "enum IChainRegistry.ObjectState", "name": "state", "type": "uint8" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "Blocknumber", "name": "mintedIn", "type": "uint32" }, { "internalType": "Blocknumber", "name": "updatedIn", "type": "uint32" }, { "internalType": "Version", "name": "version", "type": "uint48" } ], "internalType": "struct IChainRegistry.NftInfo", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" } ], "name": "getRegistryNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getStaking", "outputs": [ { "internalType": "contract IStaking", "name": "staking", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "getTokenNftId", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "getVersion", "outputs": [ { "internalType": "Version", "name": "", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "Version", "name": "_version", "type": "uint48" } ], "name": "getVersionInfo", "outputs": [ { "components": [ { "internalType": "Version", "name": "version", "type": "uint48" }, { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "address", "name": "activatedBy", "type": "address" }, { "internalType": "Blocknumber", "name": "activatedIn", "type": "uint32" }, { "internalType": "Timestamp", "name": "activatedAt", "type": "uint40" } ], "internalType": "struct IVersionable.VersionInfo", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "implementsIChainRegistry", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" }, { "internalType": "uint8", "name": "shift", "type": "uint8" } ], "name": "intToBytes", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "Version", "name": "_version", "type": "uint48" } ], "name": "isActivated", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "ObjectType", "name": "t", "type": "uint8" } ], "name": "objects", "outputs": [ { "internalType": "uint256", "name": "numberOfObjects", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "nftOwner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "registryAddress", "type": "address" } ], "name": "probeInstance", "outputs": [ { "internalType": "bool", "name": "isContract", "type": "bool" }, { "internalType": "uint256", "name": "contractSize", "type": "uint256" }, { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "bool", "name": "isValidId", "type": "bool" }, { "internalType": "contract IInstanceServiceFacade", "name": "instanceService", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "uint256", "name": "riskpoolId", "type": "uint256" }, { "internalType": "uint256", "name": "bundleId", "type": "uint256" }, { "internalType": "string", "name": "displayName", "type": "string" }, { "internalType": "uint256", "name": "expiryAt", "type": "uint256" } ], "name": "registerBundle", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "registerChain", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "instanceId", "type": "bytes32" }, { "internalType": "uint256", "name": "componentId", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "registerComponent", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "instanceRegistry", "type": "address" }, { "internalType": "string", "name": "displayName", "type": "string" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "registerInstance", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "registry", "type": "address" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "registerRegistry", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" }, { "internalType": "address", "name": "staker", "type": "address" } ], "name": "registerStake", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "registerToken", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "nft", "type": "address" }, { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "setNftContract", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "enum IChainRegistry.ObjectState", "name": "stateNew", "type": "uint8" } ], "name": "setObjectState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "stakingAddress", "type": "address" } ], "name": "setStaking", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "chainId", "type": "uint256" } ], "name": "toChain", "outputs": [ { "internalType": "ChainId", "name": "", "type": "bytes5" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "x", "type": "bytes5" } ], "name": "toInt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "Blocknumber", "name": "x", "type": "uint32" } ], "name": "toInt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "Timestamp", "name": "x", "type": "uint40" } ], "name": "toInt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "t", "type": "uint256" } ], "name": "toObjectType", "outputs": [ { "internalType": "ObjectType", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" } ], "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "i", "type": "uint256" } ], "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "Version", "name": "_version", "type": "uint48" } ], "name": "toVersionParts", "outputs": [ { "internalType": "VersionPart", "name": "major", "type": "uint16" }, { "internalType": "VersionPart", "name": "minor", "type": "uint16" }, { "internalType": "VersionPart", "name": "patch", "type": "uint16" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenDID", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "Version", "name": "", "type": "uint48" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "versionParts", "outputs": [ { "internalType": "VersionPart", "name": "major", "type": "uint16" }, { "internalType": "VersionPart", "name": "minor", "type": "uint16" }, { "internalType": "VersionPart", "name": "patch", "type": "uint16" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "versions", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "allSourcePaths": { "0": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/access/OwnableUpgradeable.sol", "1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/proxy/utils/Initializable.sol", "14": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/IERC20.sol", "15": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/extensions/IERC20Metadata.sol", "3": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/utils/ContextUpgradeable.sol", "32": "contracts/registry/ChainRegistryV01.sol", "33": "contracts/registry/ChainRegistryV02.sol", "34": "contracts/registry/IChainNft.sol", "36": "contracts/registry/IChainRegistry.sol", "39": "contracts/registry/IInstanceServiceFacade.sol", "42": "contracts/shared/BaseTypes.sol", "43": "contracts/shared/IBaseTypes.sol", "44": "contracts/shared/IVersionType.sol", "45": "contracts/shared/IVersionable.sol", "48": "contracts/shared/Versionable.sol", "49": "contracts/shared/VersionedOwnable.sol" }, "ast": { "absolutePath": "contracts/registry/ChainRegistryV02.sol", "exportedSymbols": { "ChainId": [ 4447 ], "ChainRegistryV01": [ 3155 ], "ChainRegistryV02": [ 3345 ], "IComponent": [ 4200 ], "IInstanceServiceFacade": [ 4295 ], "IVersionable": [ 4856 ], "NftId": [ 3353 ], "Version": [ 12269 ], "Versionable": [ 5891 ], "VersionedOwnable": [ 5965 ], "toVersion": [ 12435 ], "toVersionPart": [ 12383 ] }, "id": 3346, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 3157, "literals": [ "solidity", "^", "0.8", ".19" ], "nodeType": "PragmaDirective", "src": "39:24:33" }, { "absolutePath": "contracts/shared/IVersionType.sol", "file": "../shared/IVersionType.sol", "id": 3161, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 12455, "src": "65:77:33", "symbolAliases": [ { "foreign": { "id": 3158, "name": "Version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12269, "src": "73:7:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { "id": 3159, "name": "toVersion", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12435, "src": "82:9:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { "id": 3160, "name": "toVersionPart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12383, "src": "93:13:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/IVersionable.sol", "file": "../shared/IVersionable.sol", "id": 3163, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 4857, "src": "143:56:33", "symbolAliases": [ { "foreign": { "id": 3162, "name": "IVersionable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4856, "src": "151:12:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/Versionable.sol", "file": "../shared/Versionable.sol", "id": 3165, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 5892, "src": "200:54:33", "symbolAliases": [ { "foreign": { "id": 3164, "name": "Versionable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5891, "src": "208:11:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/VersionedOwnable.sol", "file": "../shared/VersionedOwnable.sol", "id": 3167, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 5966, "src": "255:64:33", "symbolAliases": [ { "foreign": { "id": 3166, "name": "VersionedOwnable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5965, "src": "263:16:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/IBaseTypes.sol", "file": "../shared/IBaseTypes.sol", "id": 3169, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 4754, "src": "321:49:33", "symbolAliases": [ { "foreign": { "id": 3168, "name": "ChainId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4447, "src": "329:7:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/ChainRegistryV01.sol", "file": "./ChainRegistryV01.sol", "id": 3171, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 3156, "src": "372:56:33", "symbolAliases": [ { "foreign": { "id": 3170, "name": "ChainRegistryV01", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3155, "src": "380:16:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/IInstanceServiceFacade.sol", "file": "./IInstanceServiceFacade.sol", "id": 3174, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 4296, "src": "429:80:33", "symbolAliases": [ { "foreign": { "id": 3172, "name": "IInstanceServiceFacade", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4295, "src": "437:22:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { "id": 3173, "name": "IComponent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4200, "src": "461:10:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/IChainNft.sol", "file": "./IChainNft.sol", "id": 3176, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 3346, "sourceUnit": 3495, "src": "510:38:33", "symbolAliases": [ { "foreign": { "id": 3175, "name": "NftId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3353, "src": "518:5:33", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 3177, "name": "ChainRegistryV01", "nameLocations": [ "583:16:33" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3155, "src": "583:16:33" }, "id": 3178, "nodeType": "InheritanceSpecifier", "src": "583:16:33" } ], "canonicalName": "ChainRegistryV02", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 3345, "linearizedBaseContracts": [ 3345, 3155, 4025, 5965, 13768, 17126, 17084, 5891, 4856, 4443, 4753 ], "name": "ChainRegistryV02", "nameLocation": "559:16:33", "nodeType": "ContractDefinition", "nodes": [ { "baseFunctions": [ 747 ], "body": { "id": 3197, "nodeType": "Block", "src": "902:124:33", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "hexValue": "31", "id": 3187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "956:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" } ], "id": 3186, "name": "toVersionPart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12383, "src": "942:13:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint16_$returns$_t_userDefinedValueType$_VersionPart_$12267_$", "typeString": "function (uint16) pure returns (VersionPart)" } }, "id": 3188, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "942:16:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_VersionPart_$12267", "typeString": "VersionPart" } }, { "arguments": [ { "hexValue": "31", "id": 3190, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "986:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" } ], "id": 3189, "name": "toVersionPart", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12383, "src": "972:13:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint16_$returns$_t_userDefinedValueType$_VersionPart_$12267_$", "typeString": "function (uint16) pure returns (VersionPart)" } }, "id": 3191, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "972:16:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_VersionPart_$12267", "typeString": "VersionPart" } }, { "arguments": [ { "hexValue": "30", "id": 3193, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1016:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0"