DevelopersAPI Reference

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 payable

registerOperatorWithAsset

function registerOperatorWithAsset(address token, uint256 amount) external

increaseStake

function increaseStake() external payable

scheduleOperatorUnstake

function scheduleOperatorUnstake(uint256 amount) external

executeOperatorUnstake

function executeOperatorUnstake() external

addBlueprint

function addBlueprint(uint64 blueprintId) external

removeBlueprint

function removeBlueprint(uint64 blueprintId) external

startLeaving

function startLeaving() external

completeLeaving

function completeLeaving() external

deposit

function deposit() external payable

depositWithLock

function depositWithLock(enum Types.LockMultiplier lockMultiplier) external payable

depositERC20

function depositERC20(address token, uint256 amount) external

depositERC20WithLock

function depositERC20WithLock(address token, uint256 amount, enum Types.LockMultiplier lockMultiplier) external

scheduleWithdraw

function scheduleWithdraw(address token, uint256 amount) external

executeWithdraw

function executeWithdraw() external

depositAndDelegate

function depositAndDelegate(address operator) external payable

depositAndDelegateWithOptions

function depositAndDelegateWithOptions(address operator, address token, uint256 amount, enum Types.BlueprintSelectionMode selectionMode, uint64[] blueprintIds) external payable

delegate

function delegate(address operator, uint256 amount) external

delegateWithOptions

function delegateWithOptions(address operator, address token, uint256 amount, enum Types.BlueprintSelectionMode selectionMode, uint64[] blueprintIds) external

scheduleDelegatorUnstake

function scheduleDelegatorUnstake(address operator, address token, uint256 amount) external

undelegate

function undelegate(address operator, uint256 amount) external

executeDelegatorUnstake

function executeDelegatorUnstake() external

addBlueprintToDelegation

function addBlueprintToDelegation(uint256 delegationIndex, uint64 blueprintId) external

removeBlueprintFromDelegation

function removeBlueprintFromDelegation(uint256 delegationIndex, uint64 blueprintId) external

notifyRewardForBlueprint

function notifyRewardForBlueprint(address operator, uint64 blueprintId, uint64 serviceId, uint256 amount) external

notifyReward

function notifyReward(address operator, uint64 serviceId, uint256 amount) external

claimDelegatorRewards

function claimDelegatorRewards() external returns (uint256 totalRewards)

claimOperatorRewards

function claimOperatorRewards() external

claimOperatorRewardsTo

function claimOperatorRewardsTo(address payable recipient) external

slashForBlueprint

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() external

snapshotOperator

function snapshotOperator(address operator) external

enableAsset

function enableAsset(address token, uint256 minOperatorStake, uint256 minDelegation, uint256 depositCap, uint16 rewardMultiplierBps) external

disableAsset

function disableAsset(address token) external

getAssetConfig

function getAssetConfig(address token) external view returns (struct Types.AssetConfig)

registerAdapter

function registerAdapter(address token, address adapter) external

removeAdapter

function removeAdapter(address token) external

setRequireAdapters

function setRequireAdapters(bool required) external

enableAssetWithAdapter

function enableAssetWithAdapter(address token, address adapter, uint256 minOperatorStake, uint256 minDelegation, uint256 depositCap, uint16 rewardMultiplierBps) external

isOperator

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) external

removeSlasher

function removeSlasher(address slasher) external

setOperatorCommission

function setOperatorCommission(uint16 bps) external

setDelays

function setDelays(uint64 delegationBondLessDelay, uint64 leaveDelegatorsDelay, uint64 leaveOperatorsDelay) external

setRewardsManager

function setRewardsManager(address manager) external

setServiceFeeDistributor

function setServiceFeeDistributor(address distributor) external

pause

function pause() external

unpause

function unpause() external

rescueTokens

function rescueTokens(address token, address to, uint256 amount) external

Events

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)