From 1c6a914d2cffb27b3344f1507c2dd9bfedcf9fac Mon Sep 17 00:00:00 2001 From: Dan Rusnac Date: Tue, 2 Dec 2025 17:18:23 +0100 Subject: [PATCH] update stargate ABI --- ABIs/Stargate.json | 1358 +++++++++++++++++ ...son => StargateDelegation-Deprecated.json} | 0 ABIs/StargateNFT.json | 799 +++++----- 3 files changed, 1814 insertions(+), 343 deletions(-) create mode 100644 ABIs/Stargate.json rename ABIs/{StargateDelegation.json => StargateDelegation-Deprecated.json} (100%) diff --git a/ABIs/Stargate.json b/ABIs/Stargate.json new file mode 100644 index 00000000..8f23d9e0 --- /dev/null +++ b/ABIs/Stargate.json @@ -0,0 +1,1358 @@ +[ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AccessControlBadConfirmation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "neededRole", + "type": "bytes32" + } + ], + "name": "AccessControlUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "AddressInsufficientBalance", + "type": "error" + }, + { + "inputs": [], + "name": "CheckpointUnorderedInsertion", + "type": "error" + }, + { + "inputs": [], + "name": "DelegationExitAlreadyRequested", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "DelegationNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + }, + { + "inputs": [], + "name": "EnforcedPause", + "type": "error" + }, + { + "inputs": [], + "name": "ExpectedPause", + "type": "error" + }, + { + "inputs": [], + "name": "FailedInnerCall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "contractBalance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "InsufficientContractBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum IStargate.DelegationStatus", + "name": "status", + "type": "uint8" + } + ], + "name": "InvalidDelegationStatus", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitializationParams", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidMaxClaimablePeriods", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "InvalidToken", + "type": "error" + }, + { + "inputs": [], + "name": "MaxClaimablePeriodsExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyStargateNFTAndProtocolStaker", + "type": "error" + }, + { + "inputs": [], + "name": "ReentrancyGuardReentrantCall", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "bits", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "SafeCastOverflowedUintDowncast", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "name": "SafeERC20FailedOperation", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "TokenAlreadyDelegated", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "TokenUnderMaturityPeriod", + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "UnauthorizedUser", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "validator", + "type": "address" + } + ], + "name": "ValidatorNotActiveOrQueued", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "required", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "provided", + "type": "uint256" + } + ], + "name": "VetAmountMismatch", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "VetTransferFailed", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "validator", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "delegationId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint48", + "name": "exitPeriod", + "type": "uint48" + } + ], + "name": "DelegationExitRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "validator", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "delegationId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "probabilityMultiplier", + "type": "uint8" + } + ], + "name": "DelegationInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "delegationId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "firstClaimedPeriod", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "lastClaimedPeriod", + "type": "uint32" + } + ], + "name": "DelegationRewardsClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "validator", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "delegationId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + } + ], + "name": "DelegationWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint32", + "name": "maxClaimablePeriods", + "type": "uint32" + } + ], + "name": "MaxClaimablePeriodsSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "CLOCK_MODE", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PAUSER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PROB_MULTIPLIER_NODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PROB_MULTIPLIER_X_NODE", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPGRADER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "VTHO_TOKEN", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "claimRewards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "claimableDelegationPeriods", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "claimableRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_batch", + "type": "uint32" + } + ], + "name": "claimableRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "clock", + "outputs": [ + { + "internalType": "uint48", + "name": "", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_validator", + "type": "address" + } + ], + "name": "delegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getDelegationDetails", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "delegationId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "validator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "probabilityMultiplier", + "type": "uint8" + }, + { + "internalType": "uint32", + "name": "startPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "endPeriod", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "isLocked", + "type": "bool" + }, + { + "internalType": "enum IStargate.DelegationStatus", + "name": "status", + "type": "uint8" + } + ], + "internalType": "struct IStargate.Delegation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getDelegationIdOfToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getDelegationStatus", + "outputs": [ + { + "internalType": "enum IStargate.DelegationStatus", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_validator", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_period", + "type": "uint32" + } + ], + "name": "getDelegatorsEffectiveStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getEffectiveStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxClaimablePeriods", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProtocolStakerContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStargateNFTContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "hasRequestedExit", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "protocolStakerContract", + "type": "address" + }, + { + "internalType": "address", + "name": "stargateNFTContract", + "type": "address" + }, + { + "internalType": "uint32", + "name": "maxClaimablePeriods", + "type": "uint32" + } + ], + "internalType": "struct Stargate.InitializeV1Params", + "name": "params", + "type": "tuple" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "lockedRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_validator", + "type": "address" + } + ], + "name": "migrateAndDelegate", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "callerConfirmation", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "requestDelegationExit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxClaimablePeriods", + "type": "uint32" + } + ], + "name": "setMaxClaimablePeriods", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "_levelId", + "type": "uint8" + } + ], + "name": "stake", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "_levelId", + "type": "uint8" + }, + { + "internalType": "address", + "name": "_validator", + "type": "address" + } + ], + "name": "stakeAndDelegate", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } +] diff --git a/ABIs/StargateDelegation.json b/ABIs/StargateDelegation-Deprecated.json similarity index 100% rename from ABIs/StargateDelegation.json rename to ABIs/StargateDelegation-Deprecated.json diff --git a/ABIs/StargateNFT.json b/ABIs/StargateNFT.json index 9f14692f..5912dc73 100644 --- a/ABIs/StargateNFT.json +++ b/ABIs/StargateNFT.json @@ -46,6 +46,11 @@ "name": "ArrayCannotHaveZeroLength", "type": "error" }, + { + "inputs": [], + "name": "ArraysLengthMismatch", + "type": "error" + }, { "inputs": [ { @@ -201,6 +206,22 @@ "name": "FailedInnerCall", "type": "error" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "contractBalance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "InsufficientContractBalance", + "type": "error" + }, { "inputs": [], "name": "InvalidInitialization", @@ -221,11 +242,6 @@ "name": "StringCannotBeEmpty", "type": "error" }, - { - "inputs": [], - "name": "TokenLocked", - "type": "error" - }, { "inputs": [], "name": "UUPSUnauthorizedCallContext", @@ -258,6 +274,22 @@ "name": "ValueCannotBeZero", "type": "error" }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "VetTransferFailed", + "type": "error" + }, { "anonymous": false, "inputs": [ @@ -357,37 +389,37 @@ "inputs": [ { "indexed": false, - "internalType": "address", - "name": "oldContractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newContractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "contractName", - "type": "string" + "internalType": "uint64", + "name": "version", + "type": "uint64" } ], - "name": "ContractAddressUpdated", + "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ + { + "indexed": true, + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + }, { "indexed": false, - "internalType": "uint64", - "name": "version", - "type": "uint64" + "internalType": "uint256", + "name": "oldBoostPricePerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newBoostPricePerBlock", + "type": "uint256" } ], - "name": "Initialized", + "name": "LevelBoostPricePerBlockUpdated", "type": "event" }, { @@ -602,6 +634,44 @@ "name": "TokenBurned", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "manager", + "type": "address" + } + ], + "name": "TokenManagerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "manager", + "type": "address" + } + ], + "name": "TokenManagerRemoved", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -787,6 +857,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "TOKEN_MANAGER_MIGRATOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "UPGRADER_ROLE", @@ -899,6 +982,11 @@ "internalType": "struct DataTypes.LevelAndSupply", "name": "_levelAndSupply", "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_boostPricePerBlock", + "type": "uint256" } ], "name": "addLevel", @@ -906,6 +994,24 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_manager", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "addTokenManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -959,22 +1065,25 @@ { "inputs": [ { - "internalType": "uint48", - "name": "_t1", - "type": "uint48" - }, - { - "internalType": "uint48", - "name": "_t2", - "type": "uint48" - }, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "boost", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "uint256", - "name": "_vetAmount", + "name": "_tokenId", "type": "uint256" } ], - "name": "calculateVTHO", + "name": "boostAmount", "outputs": [ { "internalType": "uint256", @@ -982,23 +1091,23 @@ "type": "uint256" } ], - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { "inputs": [ { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" + "internalType": "uint8", + "name": "_levelId", + "type": "uint8" } ], - "name": "canTransfer", + "name": "boostAmountOfLevel", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", @@ -1006,13 +1115,18 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "claimVetGeneratedVtho", + "name": "boostOnBehalfOf", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1020,12 +1134,12 @@ { "inputs": [ { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" + "internalType": "uint8", + "name": "_levelId", + "type": "uint8" } ], - "name": "claimableVetGeneratedVtho", + "name": "boostPricePerBlock", "outputs": [ { "internalType": "uint256", @@ -1036,6 +1150,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [], "name": "clock", @@ -1068,25 +1195,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_levelId", - "type": "uint8" - } - ], - "name": "getCap", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -1124,25 +1232,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "getLastVetGeneratedVthoClaimTimestamp", - "outputs": [ - { - "internalType": "uint48", - "name": "", - "type": "uint48" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -1327,6 +1416,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getStargate", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1361,7 +1463,7 @@ }, { "internalType": "uint48", - "name": "lastVthoClaimTimestamp", + "name": "lastVetGeneratedVthoClaimTimestamp_deprecated", "type": "uint48" } ], @@ -1395,25 +1497,57 @@ { "inputs": [ { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getTokenManager", + "outputs": [ { "internalType": "address", - "name": "account", + "name": "", "type": "address" } ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { - "inputs": [ + "inputs": [], + "name": "getVthoTokenAddress", + "outputs": [ { - "internalType": "bytes32", + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", "name": "role", "type": "bytes32" }, @@ -1434,6 +1568,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "idsManagedBy", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1577,6 +1730,59 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + } + ], + "internalType": "struct DataTypes.WhitelistEntryInit[]", + "name": "_whitelistEntries", + "type": "tuple[]" + } + ], + "name": "initializeV2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "stargate", + "type": "address" + }, + { + "internalType": "uint8[]", + "name": "levelIds", + "type": "uint8[]" + }, + { + "internalType": "uint256[]", + "name": "boostPricesPerBlock", + "type": "uint256[]" + } + ], + "name": "initializeV3", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1609,7 +1815,7 @@ "type": "uint256" } ], - "name": "isNormalToken", + "name": "isManagedByOwner", "outputs": [ { "internalType": "bool", @@ -1622,13 +1828,18 @@ }, { "inputs": [ + { + "internalType": "address", + "name": "_manager", + "type": "address" + }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], - "name": "isUnderMaturityPeriod", + "name": "isTokenManager", "outputs": [ { "internalType": "bool", @@ -1647,7 +1858,7 @@ "type": "uint256" } ], - "name": "isXToken", + "name": "isUnderMaturityPeriod", "outputs": [ { "internalType": "bool", @@ -1659,32 +1870,32 @@ "type": "function" }, { - "inputs": [], - "name": "legacyNodes", + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isXToken", "outputs": [ { - "internalType": "contract ITokenAuction", + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "levelsOwnedBy", + "inputs": [], + "name": "legacyNodes", "outputs": [ { - "internalType": "uint8[]", + "internalType": "contract ITokenAuction", "name": "", - "type": "uint8[]" + "type": "address" } ], "stateMutability": "view", @@ -1719,7 +1930,7 @@ ], "name": "migrate", "outputs": [], - "stateMutability": "payable", + "stateMutability": "nonpayable", "type": "function" }, { @@ -1730,37 +1941,48 @@ "type": "uint256" }, { - "internalType": "bool", - "name": "_autorenew", - "type": "bool" + "internalType": "address", + "name": "_manager", + "type": "address" } ], - "name": "migrateAndDelegate", + "name": "migrateTokenManager", "outputs": [], - "stateMutability": "payable", + "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [], - "name": "name", + "inputs": [ + { + "internalType": "uint8", + "name": "_levelId", + "type": "uint8" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "mint", "outputs": [ { - "internalType": "string", - "name": "", - "type": "string" + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" } ], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], - "name": "normalTokensCount", + "name": "name", "outputs": [ { - "internalType": "uint208", + "internalType": "string", "name": "", - "type": "uint208" + "type": "string" } ], "stateMutability": "view", @@ -1804,25 +2026,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "ownsNormalToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -1875,6 +2078,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "removeTokenManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1993,114 +2209,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "_legacyNodes", - "type": "address" - } - ], - "name": "setLegacyNodes", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_stargateDelegation", - "type": "address" - } - ], - "name": "setStargateDelegation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint48", - "name": "_vthoGenerationEndTimestamp", - "type": "uint48" - } - ], - "name": "setVthoGenerationEndTimestamp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vthoToken", - "type": "address" - } - ], - "name": "setVthoToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_levelId", - "type": "uint8" - } - ], - "name": "stake", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "_levelId", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "_autorenew", - "type": "bool" - } - ], - "name": "stakeAndDelegate", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "stargateDelegation", - "outputs": [ - { - "internalType": "contract IStargateDelegation", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -2231,11 +2339,11 @@ "inputs": [ { "internalType": "address", - "name": "_owner", + "name": "_user", "type": "address" } ], - "name": "tokensOwnedBy", + "name": "tokensManagedBy", "outputs": [ { "components": [ @@ -2261,7 +2369,7 @@ }, { "internalType": "uint48", - "name": "lastVthoClaimTimestamp", + "name": "lastVetGeneratedVthoClaimTimestamp_deprecated", "type": "uint48" } ], @@ -2274,13 +2382,41 @@ "type": "function" }, { - "inputs": [], - "name": "totalSupply", + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "tokensOverview", "outputs": [ { - "internalType": "uint256", + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + } + ], + "internalType": "struct DataTypes.TokenOverview[]", "name": "", - "type": "uint256" + "type": "tuple[]" } ], "stateMutability": "view", @@ -2290,41 +2426,70 @@ "inputs": [ { "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", + "name": "_owner", "type": "address" - }, + } + ], + "name": "tokensOwnedBy", + "outputs": [ { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "levelId", + "type": "uint8" + }, + { + "internalType": "uint64", + "name": "mintedAtBlock", + "type": "uint64" + }, + { + "internalType": "uint256", + "name": "vetAmountStaked", + "type": "uint256" + }, + { + "internalType": "uint48", + "name": "lastVetGeneratedVthoClaimTimestamp_deprecated", + "type": "uint48" + } + ], + "internalType": "struct DataTypes.Token[]", + "name": "", + "type": "tuple[]" } ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", - "name": "_tokenId", + "name": "amount", "type": "uint256" } ], - "name": "unstake", + "name": "transferBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -2332,55 +2497,29 @@ { "inputs": [ { - "internalType": "uint8", - "name": "_levelId", - "type": "uint8" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "bool", - "name": "_isX", - "type": "bool" - }, - { - "internalType": "uint64", - "name": "_maturityBlocks", - "type": "uint64" + "internalType": "address", + "name": "from", + "type": "address" }, { - "internalType": "uint64", - "name": "_scaledRewardFactor", - "type": "uint64" + "internalType": "address", + "name": "to", + "type": "address" }, { "internalType": "uint256", - "name": "_vetAmountRequiredToStake", + "name": "tokenId", "type": "uint256" } ], - "name": "updateLevel", + "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { - "inputs": [ - { - "internalType": "uint8", - "name": "_levelId", - "type": "uint8" - }, - { - "internalType": "uint32", - "name": "_cap", - "type": "uint32" - } - ], - "name": "updateLevelCap", + "inputs": [], + "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -2416,32 +2555,6 @@ "stateMutability": "pure", "type": "function" }, - { - "inputs": [], - "name": "vthoGenerationEndTimestamp", - "outputs": [ - { - "internalType": "uint48", - "name": "", - "type": "uint48" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "vthoToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "xTokensCount",