@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
625 lines (624 loc) • 13.4 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "INodeManagementV3",
"sourceName": "contracts/mocks/Stargate/interfaces/INodeManagement/INodeManagementV3.sol",
"abi": [
{
"inputs": [],
"name": "NodeManagementInvalidNodeId",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
},
{
"internalType": "address",
"name": "delegatee",
"type": "address"
}
],
"name": "NodeManagementNodeAlreadyDelegated",
"type": "error"
},
{
"inputs": [],
"name": "NodeManagementNodeNotDelegated",
"type": "error"
},
{
"inputs": [],
"name": "NodeManagementNonNodeHolder",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "NodeManagementNotNodeOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "NodeManagementNotNodeOwnerOrManager",
"type": "error"
},
{
"inputs": [],
"name": "NodeManagementSelfDelegation",
"type": "error"
},
{
"inputs": [],
"name": "NodeManagementZeroAddress",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "delegatee",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "delegated",
"type": "bool"
}
],
"name": "NodeDelegated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldContractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newContractAddress",
"type": "address"
}
],
"name": "StargateNftSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "oldContractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newContractAddress",
"type": "address"
}
],
"name": "VechainNodeContractSet",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "delegatee",
"type": "address"
},
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "delegateNode",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "exists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "enum VechainNodesDataTypes.NodeSource",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getDirectNodeOwnership",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getDirectNodesOwnership",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getNodeIds",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "getNodeLevel",
"outputs": [
{
"internalType": "uint8",
"name": "levelId",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "getNodeManager",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "getNodeOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getNodesDelegatedTo",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getUserNodes",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "nodeLevel",
"type": "uint8"
},
{
"internalType": "address",
"name": "xNodeOwner",
"type": "address"
},
{
"internalType": "bool",
"name": "isXNodeHolder",
"type": "bool"
},
{
"internalType": "bool",
"name": "isXNodeDelegated",
"type": "bool"
},
{
"internalType": "bool",
"name": "isXNodeDelegator",
"type": "bool"
},
{
"internalType": "bool",
"name": "isXNodeDelegatee",
"type": "bool"
},
{
"internalType": "address",
"name": "delegatee",
"type": "address"
}
],
"internalType": "struct INodeManagementV3.NodeInfo[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getUserStargateNFTsInfo",
"outputs": [
{
"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[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getUsersNodeLevels",
"outputs": [
{
"internalType": "uint8[]",
"name": "",
"type": "uint8[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "vechainNodesContract",
"type": "address"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "address",
"name": "upgrader",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "isDirectNodeOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "isLegacyNode",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "isNodeDelegated",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "isNodeDelegator",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "isNodeHolder",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "isNodeManager",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "nodeId",
"type": "uint256"
}
],
"name": "removeNodeDelegation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "stargateNft",
"type": "address"
}
],
"name": "setStargateNft",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "vechainNodesContract",
"type": "address"
}
],
"name": "setVechainNodesContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}