IMultiAssetDelegation
Source: https://github.com/tangle-network/tnt-core/blob/v2/src/v2/interfaces/IMultiAssetDelegation.sol
IMultiAssetDelegation
Full interface for the multi-asset restaking contract
Functions
registerOperator
function registerOperator() external payableregisterOperatorWithAsset
function registerOperatorWithAsset(address token, uint256 amount) externalincreaseStake
function increaseStake() external payablescheduleOperatorUnstake
function scheduleOperatorUnstake(uint256 amount) externalexecuteOperatorUnstake
function executeOperatorUnstake() externaladdBlueprint
function addBlueprint(uint64 blueprintId) externalremoveBlueprint
function removeBlueprint(uint64 blueprintId) externalstartLeaving
function startLeaving() externalcompleteLeaving
function completeLeaving() externaldeposit
function deposit() external payabledepositWithLock
function depositWithLock(enum Types.LockMultiplier lockMultiplier) external payabledepositERC20
function depositERC20(address token, uint256 amount) externaldepositERC20WithLock
function depositERC20WithLock(address token, uint256 amount, enum Types.LockMultiplier lockMultiplier) externalscheduleWithdraw
function scheduleWithdraw(address token, uint256 amount) externalexecuteWithdraw
function executeWithdraw() externaldepositAndDelegate
function depositAndDelegate(address operator) external payabledepositAndDelegateWithOptions
function depositAndDelegateWithOptions(address operator, address token, uint256 amount, enum Types.BlueprintSelectionMode selectionMode, uint64[] blueprintIds) external payabledelegate
function delegate(address operator, uint256 amount) externaldelegateWithOptions
function delegateWithOptions(address operator, address token, uint256 amount, enum Types.BlueprintSelectionMode selectionMode, uint64[] blueprintIds) externalscheduleDelegatorUnstake
function scheduleDelegatorUnstake(address operator, address token, uint256 amount) externalundelegate
function undelegate(address operator, uint256 amount) externalexecuteDelegatorUnstake
function executeDelegatorUnstake() externaladdBlueprintToDelegation
function addBlueprintToDelegation(uint256 delegationIndex, uint64 blueprintId) externalremoveBlueprintFromDelegation
function removeBlueprintFromDelegation(uint256 delegationIndex, uint64 blueprintId) externalnotifyRewardForBlueprint
function notifyRewardForBlueprint(address operator, uint64 blueprintId, uint64 serviceId, uint256 amount) externalnotifyReward
function notifyReward(address operator, uint64 serviceId, uint256 amount) externalclaimDelegatorRewards
function claimDelegatorRewards() external returns (uint256 totalRewards)claimOperatorRewards
function claimOperatorRewards() externalclaimOperatorRewardsTo
function claimOperatorRewardsTo(address payable recipient) externalslashForBlueprint
function slashForBlueprint(address operator, uint64 blueprintId, uint64 serviceId, uint256 amount, bytes32 evidence) external returns (uint256 actualSlashed)slashForService
function slashForService(address operator, uint64 blueprintId, uint64 serviceId, struct Types.AssetSecurityCommitment[] commitments, uint256 amount, bytes32 evidence) external returns (uint256 actualSlashed)slash
function slash(address operator, uint64 serviceId, uint256 amount, bytes32 evidence) external returns (uint256 actualSlashed)advanceRound
function advanceRound() externalsnapshotOperator
function snapshotOperator(address operator) externalenableAsset
function enableAsset(address token, uint256 minOperatorStake, uint256 minDelegation, uint256 depositCap, uint16 rewardMultiplierBps) externaldisableAsset
function disableAsset(address token) externalgetAssetConfig
function getAssetConfig(address token) external view returns (struct Types.AssetConfig)registerAdapter
function registerAdapter(address token, address adapter) externalremoveAdapter
function removeAdapter(address token) externalsetRequireAdapters
function setRequireAdapters(bool required) externalenableAssetWithAdapter
function enableAssetWithAdapter(address token, address adapter, uint256 minOperatorStake, uint256 minDelegation, uint256 depositCap, uint16 rewardMultiplierBps) externalisOperator
function isOperator(address operator) external view returns (bool)isOperatorActive
function isOperatorActive(address operator) external view returns (bool)getOperatorStake
function getOperatorStake(address operator) external view returns (uint256)getOperatorSelfStake
function getOperatorSelfStake(address operator) external view returns (uint256)getOperatorDelegatedStake
function getOperatorDelegatedStake(address operator) external view returns (uint256)getDelegation
function getDelegation(address delegator, address operator) external view returns (uint256)getTotalDelegation
function getTotalDelegation(address delegator) external view returns (uint256 total)minOperatorStake
function minOperatorStake() external view returns (uint256)meetsStakeRequirement
function meetsStakeRequirement(address operator, uint256 required) external view returns (bool)isSlasher
function isSlasher(address account) external view returns (bool)getOperatorMetadata
function getOperatorMetadata(address operator) external view returns (struct Types.OperatorMetadata)getOperatorBlueprints
function getOperatorBlueprints(address operator) external view returns (uint256[])operatorCount
function operatorCount() external view returns (uint256)operatorAt
function operatorAt(uint256 index) external view returns (address)getDeposit
function getDeposit(address delegator, address token) external view returns (struct Types.Deposit)getPendingWithdrawals
function getPendingWithdrawals(address delegator) external view returns (struct Types.WithdrawRequest[])getLocks
function getLocks(address delegator, address token) external view returns (struct Types.LockInfo[])getDelegations
function getDelegations(address delegator) external view returns (struct Types.BondInfoDelegator[])getDelegationBlueprints
function getDelegationBlueprints(address delegator, uint256 idx) external view returns (uint64[])getPendingUnstakes
function getPendingUnstakes(address delegator) external view returns (struct Types.BondLessRequest[])getOperatorRewardPool
function getOperatorRewardPool(address operator) external view returns (struct Types.OperatorRewardPool)getPendingDelegatorRewards
function getPendingDelegatorRewards(address delegator) external view returns (uint256)getPendingOperatorRewards
function getPendingOperatorRewards(address operator) external view returns (uint256)getOperatorDelegators
function getOperatorDelegators(address operator) external view returns (address[])getOperatorDelegatorCount
function getOperatorDelegatorCount(address operator) external view returns (uint256)rewardsManager
function rewardsManager() external view returns (address)serviceFeeDistributor
function serviceFeeDistributor() external view returns (address)getSlashImpact
function getSlashImpact(address operator, uint64 slashIndex, address delegator) external view returns (uint256)getSlashCount
function getSlashCount(address operator) external view returns (uint64)getSlashRecord
function getSlashRecord(address operator, uint64 slashIndex) external view returns (struct SlashingManager.SlashRecord)getSlashCountForService
function getSlashCountForService(uint64 serviceId, address operator) external view returns (uint64)getSlashCountForBlueprint
function getSlashCountForBlueprint(uint64 blueprintId, address operator) external view returns (uint64)currentRound
function currentRound() external view returns (uint64)roundDuration
function roundDuration() external view returns (uint64)delegationBondLessDelay
function delegationBondLessDelay() external view returns (uint64)leaveDelegatorsDelay
function leaveDelegatorsDelay() external view returns (uint64)leaveOperatorsDelay
function leaveOperatorsDelay() external view returns (uint64)operatorCommissionBps
function operatorCommissionBps() external view returns (uint16)LOCK_ONE_MONTH
function LOCK_ONE_MONTH() external view returns (uint64)LOCK_TWO_MONTHS
function LOCK_TWO_MONTHS() external view returns (uint64)LOCK_THREE_MONTHS
function LOCK_THREE_MONTHS() external view returns (uint64)LOCK_SIX_MONTHS
function LOCK_SIX_MONTHS() external view returns (uint64)MULTIPLIER_NONE
function MULTIPLIER_NONE() external view returns (uint16)MULTIPLIER_ONE_MONTH
function MULTIPLIER_ONE_MONTH() external view returns (uint16)MULTIPLIER_TWO_MONTHS
function MULTIPLIER_TWO_MONTHS() external view returns (uint16)MULTIPLIER_THREE_MONTHS
function MULTIPLIER_THREE_MONTHS() external view returns (uint16)MULTIPLIER_SIX_MONTHS
function MULTIPLIER_SIX_MONTHS() external view returns (uint16)addSlasher
function addSlasher(address slasher) externalremoveSlasher
function removeSlasher(address slasher) externalsetOperatorCommission
function setOperatorCommission(uint16 bps) externalsetDelays
function setDelays(uint64 delegationBondLessDelay, uint64 leaveDelegatorsDelay, uint64 leaveOperatorsDelay) externalsetRewardsManager
function setRewardsManager(address manager) externalsetServiceFeeDistributor
function setServiceFeeDistributor(address distributor) externalpause
function pause() externalunpause
function unpause() externalrescueTokens
function rescueTokens(address token, address to, uint256 amount) externalEvents
AssetEnabled
event AssetEnabled(address token, uint256 minOperatorStake, uint256 minDelegation)AssetDisabled
event AssetDisabled(address token)RoundAdvanced
event RoundAdvanced(uint64 round)OperatorRegistered
event OperatorRegistered(address operator, uint256 stake)OperatorStakeIncreased
event OperatorStakeIncreased(address operator, uint256 amount)OperatorUnstakeScheduled
event OperatorUnstakeScheduled(address operator, uint256 amount, uint64 readyRound)OperatorUnstakeExecuted
event OperatorUnstakeExecuted(address operator, uint256 amount)OperatorLeavingScheduled
event OperatorLeavingScheduled(address operator, uint64 readyRound)OperatorLeft
event OperatorLeft(address operator)OperatorBlueprintAdded
event OperatorBlueprintAdded(address operator, uint64 blueprintId)OperatorBlueprintRemoved
event OperatorBlueprintRemoved(address operator, uint64 blueprintId)Deposited
event Deposited(address delegator, address token, uint256 amount, enum Types.LockMultiplier lock)WithdrawScheduled
event WithdrawScheduled(address delegator, address token, uint256 amount, uint64 readyRound)Withdrawn
event Withdrawn(address delegator, address token, uint256 amount)ExpiredLocksHarvested
event ExpiredLocksHarvested(address delegator, address token, uint256 count, uint256 totalAmount)Delegated
event Delegated(address delegator, address operator, address token, uint256 amount, uint256 shares, enum Types.BlueprintSelectionMode selectionMode)DelegatorUnstakeScheduled
event DelegatorUnstakeScheduled(address delegator, address operator, address token, uint256 shares, uint256 estimatedAmount, uint64 readyRound)DelegatorUnstakeExecuted
event DelegatorUnstakeExecuted(address delegator, address operator, address token, uint256 shares, uint256 amount)BlueprintAddedToDelegation
event BlueprintAddedToDelegation(address delegator, uint256 delegationIndex, uint64 blueprintId)BlueprintRemovedFromDelegation
event BlueprintRemovedFromDelegation(address delegator, uint256 delegationIndex, uint64 blueprintId)Slashed
event Slashed(address operator, uint64 serviceId, uint256 operatorSlashed, uint256 delegatorsSlashed, uint256 newExchangeRate)SlashedForService
event SlashedForService(address operator, uint64 serviceId, uint64 blueprintId, uint256 totalSlashed, uint256 commitmentCount)SlashRecorded
event SlashRecorded(address operator, uint64 slashId, uint256 totalSlashed, uint256 exchangeRateBefore, uint256 exchangeRateAfter)RewardDistributed
event RewardDistributed(address operator, uint256 amount)RewardClaimed
event RewardClaimed(address account, uint256 amount)AdapterRegistered
event AdapterRegistered(address token, address adapter)AdapterRemoved
event AdapterRemoved(address token)RequireAdaptersUpdated
event RequireAdaptersUpdated(bool required)