UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

2,002 lines 265 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "target", "type": "uint96" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "LogStakingNewStakeCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "oldTarget", "type": "uint96" }, { "indexed": false, "internalType": "NftId", "name": "newTrget", "type": "uint96" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "NftId", "name": "stakeId", "type": "uint96" }, { "indexed": false, "internalType": "uint256", "name": "stakingAmount", "type": "uint256" } ], "name": "LogStakingRestaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "UFixed", "name": "oldRewardRate", "type": "uint256" }, { "indexed": false, "internalType": "UFixed", "name": "newRewardRate", "type": "uint256" } ], "name": "LogStakingRewardRateSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "LogStakingRewardReservesDecreased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "LogStakingRewardReservesIncreased", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "LogStakingRewardsClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "LogStakingRewardsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "target", "type": "uint96" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "LogStakingStaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "UFixed", "name": "oldStakingRate", "type": "uint256" }, { "indexed": false, "internalType": "UFixed", "name": "newStakingRate", "type": "uint256" } ], "name": "LogStakingStakingRateSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "NftId", "name": "target", "type": "uint96" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "NftId", "name": "id", "type": "uint96" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "LogStakingUnstaked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "address", "name": "oldWallet", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "LogStakingWalletChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "NftId", "name": "target", "type": "uint96" }, { "indexed": false, "internalType": "UFixed", "name": "oldRewardRate", "type": "uint256" }, { "indexed": false, "internalType": "UFixed", "name": "newRewardRate", "type": "uint256" } ], "name": "LogTargetRewardRateSet", "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" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "address", "name": "activatedBy", "type": "address" } ], "name": "activate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "name": "calculateCapitalSupport", "outputs": [ { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "calculateRequiredStaking", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "calculateRewards", "outputs": [ { "internalType": "uint256", "name": "rewardAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "NftId", "name": "target", "type": "uint96" }, { "internalType": "uint256", "name": "stakeBalance", "type": "uint256" }, { "internalType": "uint256", "name": "rewardBalance", "type": "uint256" }, { "internalType": "Timestamp", "name": "createdAt", "type": "uint40" }, { "internalType": "Timestamp", "name": "updatedAt", "type": "uint40" }, { "internalType": "Version", "name": "version", "type": "uint48" }, { "internalType": "Timestamp", "name": "lockedUntil", "type": "uint40" } ], "internalType": "struct IStaking.StakeInfo", "name": "stakeInfo", "type": "tuple" } ], "name": "calculateRewardsIncrement", "outputs": [ { "internalType": "uint256", "name": "rewardsAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" } ], "name": "capitalSupport", "outputs": [ { "internalType": "uint256", "name": "capitalAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "claimRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" }, { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "name": "createStake", "outputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "NftId", "name": "target", "type": "uint96" }, { "internalType": "uint256", "name": "dipAmount", "type": "uint256" }, { "internalType": "bytes32", "name": "signatureId", "type": "bytes32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "createStakeWithSignature", "outputs": [ { "internalType": "NftId", "name": "stakeId", "type": "uint96" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "bundle", "type": "uint96" } ], "name": "getBundleInfo", "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": "enum IInstanceServiceFacade.BundleState", "name": "bundleState", "type": "uint8" }, { "internalType": "Timestamp", "name": "expiryAt", "type": "uint40" }, { "internalType": "bool", "name": "stakingSupported", "type": "bool" }, { "internalType": "bool", "name": "unstakingSupported", "type": "bool" }, { "internalType": "uint256", "name": "stakeBalance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDip", "outputs": [ { "internalType": "contract IERC20Metadata", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "getInfo", "outputs": [ { "components": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "NftId", "name": "target", "type": "uint96" }, { "internalType": "uint256", "name": "stakeBalance", "type": "uint256" }, { "internalType": "uint256", "name": "rewardBalance", "type": "uint256" }, { "internalType": "Timestamp", "name": "createdAt", "type": "uint40" }, { "internalType": "Timestamp", "name": "updatedAt", "type": "uint40" }, { "internalType": "Version", "name": "version", "type": "uint48" }, { "internalType": "Timestamp", "name": "lockedUntil", "type": "uint40" } ], "internalType": "struct IStaking.StakeInfo", "name": "info", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMessageHelperAddress", "outputs": [ { "internalType": "address", "name": "messageHelperAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRegistry", "outputs": [ { "internalType": "contract IChainRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getStakingWallet", "outputs": [ { "internalType": "address", "name": "stakingWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" } ], "name": "getTargetRewardRate", "outputs": [ { "internalType": "UFixed", "name": "rewardRate", "type": "uint256" } ], "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": "implementsIStaking", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "NftId", "name": "target", "type": "uint96" } ], "name": "isStakingSupported", "outputs": [ { "internalType": "bool", "name": "isSupported", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ObjectType", "name": "targetType", "type": "uint8" } ], "name": "isStakingSupportedForType", "outputs": [ { "internalType": "bool", "name": "isSupported", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "stakeId", "type": "uint96" } ], "name": "isUnstakingAvailable", "outputs": [ { "internalType": "bool", "name": "isAvailable", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" } ], "name": "isUnstakingSupported", "outputs": [ { "internalType": "bool", "name": "isSupported", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxRewardRate", "outputs": [ { "internalType": "UFixed", "name": "rate", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rateDecimals", "outputs": [ { "internalType": "uint256", "name": "decimals", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "name": "refillRewardReserves", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "NftId", "name": "newTarget", "type": "uint96" } ], "name": "restake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "NftId", "name": "stakeId", "type": "uint96" }, { "internalType": "NftId", "name": "newTarget", "type": "uint96" }, { "internalType": "bytes32", "name": "signatureId", "type": "bytes32" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "restakeWithSignature", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardBalance", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardRate", "outputs": [ { "internalType": "UFixed", "name": "rate", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardReserves", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "UFixed", "name": "rewardRate", "type": "uint256" } ], "name": "setRewardRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "UFixed", "name": "stakingRate", "type": "uint256" } ], "name": "setStakingRate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "stakingWalletNew", "type": "address" } ], "name": "setStakingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "name": "stake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stakeBalance", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "target", "type": "uint96" } ], "name": "stakes", "outputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "ChainId", "name": "chain", "type": "bytes5" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "stakingRate", "outputs": [ { "internalType": "UFixed", "name": "stakingRate", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "chainId", "type": "uint256" } ], "name": "toChain", "outputs": [ { "internalType": "ChainId", "name": "", "type": "bytes5" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "int8", "name": "exp", "type": "int8" } ], "name": "toRate", "outputs": [ { "internalType": "UFixed", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "Version", "name": "_version", "type": "uint48" } ], "name": "toVersionParts", "outputs": [ { "internalType": "VersionPart", "name": "major", "type": "uint16" }, { "internalType": "VersionPart", "name": "minor", "type": "uint16" }, { "internalType": "VersionPart", "name": "patch", "type": "uint16" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" }, { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "name": "unstake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "NftId", "name": "id", "type": "uint96" } ], "name": "unstakeAndClaimRewards", "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" }, { "inputs": [ { "internalType": "uint256", "name": "dipAmount", "type": "uint256" } ], "name": "withdrawRewardReserves", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "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", "17": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/IERC721.sol", "20": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC721/extensions/IERC721Enumerable.sol", "29": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/introspection/IERC165.sol", "34": "contracts/registry/IChainNft.sol", "36": "contracts/registry/IChainRegistry.sol", "39": "contracts/registry/IInstanceServiceFacade.sol", "43": "contracts/shared/IBaseTypes.sol", "44": "contracts/shared/IVersionType.sol", "45": "contracts/shared/IVersionable.sol", "47": "contracts/shared/UFixedMath.sol", "50": "contracts/staking/IStaking.sol" }, "ast": { "absolutePath": "contracts/staking/IStaking.sol", "exportedSymbols": { "ChainId": [ 4447 ], "IChainRegistry": [ 4025 ], "IERC20Metadata": [ 12510 ], "IInstanceServiceFacade": [ 4295 ], "IStaking": [ 6479 ], "IVersionable": [ 4856 ], "NftId": [ 3353 ], "ObjectType": [ 3555 ], "Timestamp": [ 4530 ], "UFixed": [ 5099 ], "Version": [ 12269 ] }, "id": 6480, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 5967, "literals": [ "solidity", "^", "0.8", ".19" ], "nodeType": "PragmaDirective", "src": "39:24:50" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/token/ERC20/extensions/IERC20Metadata.sol", "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "id": 5969, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 12511, "src": "65:97:50", "symbolAliases": [ { "foreign": { "id": 5968, "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12510, "src": "73:14:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/IBaseTypes.sol", "file": "../shared/IBaseTypes.sol", "id": 5972, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 4754, "src": "164:60:50", "symbolAliases": [ { "foreign": { "id": 5970, "name": "ChainId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4447, "src": "172:7:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { "id": 5971, "name": "Timestamp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4530, "src": "181:9:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/IVersionType.sol", "file": "../shared/IVersionType.sol", "id": 5974, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 12455, "src": "225:51:50", "symbolAliases": [ { "foreign": { "id": 5973, "name": "Version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 12269, "src": "233:7:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/IVersionable.sol", "file": "../shared/IVersionable.sol", "id": 5976, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 4857, "src": "277:56:50", "symbolAliases": [ { "foreign": { "id": 5975, "name": "IVersionable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4856, "src": "285:12:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/shared/UFixedMath.sol", "file": "../shared/UFixedMath.sol", "id": 5978, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 5592, "src": "335:48:50", "symbolAliases": [ { "foreign": { "id": 5977, "name": "UFixed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5099, "src": "343:6:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/IChainNft.sol", "file": "../registry/IChainNft.sol", "id": 5980, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 3495, "src": "385:48:50", "symbolAliases": [ { "foreign": { "id": 5979, "name": "NftId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3353, "src": "393:5:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/IChainRegistry.sol", "file": "../registry/IChainRegistry.sol", "id": 5983, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 4026, "src": "434:74:50", "symbolAliases": [ { "foreign": { "id": 5981, "name": "IChainRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4025, "src": "442:14:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { "id": 5982, "name": "ObjectType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3555, "src": "458:10:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "absolutePath": "contracts/registry/IInstanceServiceFacade.sol", "file": "../registry/IInstanceServiceFacade.sol", "id": 5985, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6480, "sourceUnit": 4296, "src": "509:78:50", "symbolAliases": [ { "foreign": { "id": 5984, "name": "IInstanceServiceFacade", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4295, "src": "517:22:50", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" } ], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 5986, "name": "IVersionable", "nameLocations": [ "616:12:50" ], "nodeType": "IdentifierPath", "referencedDeclaration": 4856, "src": "616:12:50" }, "id": 5987, "nodeType": "InheritanceSpecifier", "src": "616:12:50" } ], "canonicalName": "IStaking", "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 6479, "linearizedBaseContracts": [ 6479, 4856 ], "name": "IStaking", "nameLocation": "600:8:50", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "IStaking.StakeInfo", "id": 6010, "members": [ { "constant": false, "id": 5990, "mutability": "mutable", "name": "id", "nameLocation": "669:2:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "663:8:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_NftId_$3353", "typeString": "NftId" }, "typeName": { "id": 5989, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5988, "name": "NftId", "nameLocations": [ "663:5:50" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3353, "src": "663:5:50" }, "referencedDeclaration": 3353, "src": "663:5:50", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_NftId_$3353", "typeString": "NftId" } }, "visibility": "internal" }, { "constant": false, "id": 5993, "mutability": "mutable", "name": "target", "nameLocation": "687:6:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "681:12:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_NftId_$3353", "typeString": "NftId" }, "typeName": { "id": 5992, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5991, "name": "NftId", "nameLocations": [ "681:5:50" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3353, "src": "681:5:50" }, "referencedDeclaration": 3353, "src": "681:5:50", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_NftId_$3353", "typeString": "NftId" } }, "visibility": "internal" }, { "constant": false, "id": 5995, "mutability": "mutable", "name": "stakeBalance", "nameLocation": "711:12:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "703:20:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 5994, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "703:7:50", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 5997, "mutability": "mutable", "name": "rewardBalance", "nameLocation": "741:13:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "733:21:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 5996, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "733:7:50", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 6000, "mutability": "mutable", "name": "createdAt", "nameLocation": "774:9:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "764:19:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530", "typeString": "Timestamp" }, "typeName": { "id": 5999, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5998, "name": "Timestamp", "nameLocations": [ "764:9:50" ], "nodeType": "IdentifierPath", "referencedDeclaration": 4530, "src": "764:9:50" }, "referencedDeclaration": 4530, "src": "764:9:50", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530", "typeString": "Timestamp" } }, "visibility": "internal" }, { "constant": false, "id": 6003, "mutability": "mutable", "name": "updatedAt", "nameLocation": "803:9:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "793:19:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530", "typeString": "Timestamp" }, "typeName": { "id": 6002, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6001, "name": "Timestamp", "nameLocations": [ "793:9:50" ], "nodeType": "IdentifierPath", "referencedDeclaration": 4530, "src": "793:9:50" }, "referencedDeclaration": 4530, "src": "793:9:50", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Timestamp_$4530", "typeString": "Timestamp" } }, "visibility": "internal" }, { "constant": false, "id": 6006, "mutability": "mutable", "name": "version", "nameLocation": "830:7:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "822:15:50", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Version_$12269", "typeString": "Version" }, "typeName": { "id": 6005, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 6004, "name": "Version", "nameLocations": [ "822:7:50" ], "nodeType": "IdentifierPath", "referencedDeclaration": 12269, "src": "822:7:50" }, "referencedDeclaration": 12269, "src": "822:7:50", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_Version_$12269", "typeString": "Version" } }, "visibility": "internal" }, { "constant": false, "id": 6009, "mutability": "mutable", "name": "lockedUntil", "nameLocation": "857:11:50", "nodeType": "VariableDeclaration", "scope": 6010, "src": "847:21:50", "stateVariable": false, "storageLocation": "default", "typeDescript