@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
663 lines (662 loc) • 14.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IProtocolStaker",
"sourceName": "contracts/mocks/Stargate/interfaces/IProtocolStaker.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "beneficiary",
"type": "address"
}
],
"name": "BeneficiarySet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint8",
"name": "multiplier",
"type": "uint8"
}
],
"name": "DelegationAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
}
],
"name": "DelegationSignaledExit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stake",
"type": "uint256"
}
],
"name": "DelegationWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "removed",
"type": "uint256"
}
],
"name": "StakeDecreased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "added",
"type": "uint256"
}
],
"name": "StakeIncreased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "endorser",
"type": "address"
},
{
"indexed": false,
"internalType": "uint32",
"name": "period",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stake",
"type": "uint256"
}
],
"name": "ValidationQueued",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "ValidationSignaledExit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stake",
"type": "uint256"
}
],
"name": "ValidationWithdrawn",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"internalType": "uint8",
"name": "multiplier",
"type": "uint8"
}
],
"name": "addDelegation",
"outputs": [
{
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"internalType": "uint32",
"name": "period",
"type": "uint32"
}
],
"name": "addValidation",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "decreaseStake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "firstActive",
"outputs": [
{
"internalType": "address",
"name": "firstActive",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "firstQueued",
"outputs": [
{
"internalType": "address",
"name": "firstQueued",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
}
],
"name": "getDelegation",
"outputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "multiplier",
"type": "uint8"
},
{
"internalType": "bool",
"name": "isLocked",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
}
],
"name": "getDelegationPeriodDetails",
"outputs": [
{
"internalType": "uint32",
"name": "startPeriod",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "endPeriod",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"internalType": "uint32",
"name": "stakingPeriod",
"type": "uint32"
}
],
"name": "getDelegatorsRewards",
"outputs": [
{
"internalType": "uint256",
"name": "rewards",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "getValidation",
"outputs": [
{
"internalType": "address",
"name": "endorser",
"type": "address"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "weight",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "queuedStake",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint32",
"name": "offlineBlock",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "getValidationPeriodDetails",
"outputs": [
{
"internalType": "uint32",
"name": "period",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "startBlock",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "exitBlock",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "completedPeriods",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "getValidationTotals",
"outputs": [
{
"internalType": "uint256",
"name": "lockedVET",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lockedWeight",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "queuedVET",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "exitingVET",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nextPeriodWeight",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getValidationsNum",
"outputs": [
{
"internalType": "uint64",
"name": "activeCount",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "queuedCount",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "id",
"type": "address"
}
],
"name": "getWithdrawable",
"outputs": [
{
"internalType": "uint256",
"name": "withdrawableVET",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "increaseStake",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "issuance",
"outputs": [
{
"internalType": "uint256",
"name": "issued",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "prev",
"type": "address"
}
],
"name": "next",
"outputs": [
{
"internalType": "address",
"name": "nextValidation",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "queuedStake",
"outputs": [
{
"internalType": "uint256",
"name": "queuedStake",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
},
{
"internalType": "address",
"name": "beneficiary",
"type": "address"
}
],
"name": "setBeneficiary",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
}
],
"name": "signalDelegationExit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "signalExit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "totalStake",
"outputs": [
{
"internalType": "uint256",
"name": "totalStake",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalWeight",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "delegationID",
"type": "uint256"
}
],
"name": "withdrawDelegation",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "validator",
"type": "address"
}
],
"name": "withdrawStake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}