Restaking smart contracts reference
Instructions for manual restaking in Ditto AVS.
Getting strategy tokens
Acquire strategy tokens via swap in your wallet UI or in third-party service (e.g. Uniswap, Lido).
Depositing into strategy
Call
approvemethod with the amount you want to deposit into strategy.After successful approval call
depositIntoStrategymethod with the same amount to deposit tokens into strategy.
Delegate
Call the delegateTo method providing desired operator.
Undelegate
Call undelegate method providing address of you wallet.
Withdraw
Manually queue withdrawals with
queueWithdrawalorundelegateGet data from
WithdrawalQueuedevents and pass it tocompleteQueuedWithdrawalorcompleteQueuedWithdrawals
Methods
Approve
Write method approve can be found on token smart contracts.
Address: Token address.
Arguments:
spender β Address of the strategy you want to use
amount β Amount of tokens to approve
Output: Success/failure of the call
Deposit into strategy
Write method depositIntoStrategy can be found on Eigenlayer Strategy Manager smart contract.
Address: Strategy manager address. Select from here depending on the network you're using.
Arguments:
strategy β Address of the strategy you want to use
token β Token address.
amount β Amount of tokens you want to approve.
Output: Amount of tokens deposited into strategy.
Delegate
Write method delegateTo can be found on Eigenlayer Delegation Manager smart contact.
Address: Delegation manager address. Select from here depending on the network you're using.
Arguments:
operator β Operator address
approverSignatureAndExpiry β Leave it empty. Type info.
approverSalt β Pass zero bytes
Output: Delegation status
Undelegate
Write method undelegate can be found on Eigenlayer Delegation Manager smart contact.
Address: Delegation manager address. Select from here depending on the network you're using.
Arguments:
staker β Address of your wallet
Output: withdrawalRoots array
Emits events: StakerUndelegated, WithdrawalQueued
Queue withdrawal
Write method queueWithdrawals can be found on on Eigenlayer Delegation Manager smart contact.
Address: Delegation manager address. Select from here depending on the network you're using.
Arguments:
withdrawals β array of
QueuedWithdrawalParamsstructures
Output: withdrawalRoots array
Emits events: WithdrawalQueued
Complete queued withdrawal
Write method completeQueuedWithdrawal can be found on Eigenlayer Delegation manager smart contact.
Address: Delegation manager address. Select from here depending on the network you're using.
Arguments:
withdrawal β structure from
WithdrawalQueuedEventtokens β array of tokens (optional)
middlewareTimesIndex β empty
receiveAsTokens β boolean
Output: confirmation of withdrawal
Emits events: WithdrawalCompleted
Complete queued withdrawals
Write method completeQueuedWithdrawals can be found on Eigenlayer Delegation manager smart contact.
Address: Delegation manager address. Select from here depending on the network you're using.
Arguments:
withdrawal β array of structures from
WithdrawalQueuedEventtokens β array of tokens (optional)
middlewareTimesIndex β empty
receiveAsTokens β boolean
Output: confirmation of multiple withdrawals
Emits events: WithdrawalCompleted
Eigenlater Emited Events
StakerUndelegated
WithdrawalQueued
WithdrawalCompleted
Eigenlayer Data Formats
SignatureWithExpiry
QueuedWithdrawalParams
Withdrawal
Eigenlayer Contracts
Mainnet
Strategy Manager β
0x858646372CC42E1A627fcE94aa7A7033e7CF075ADelegation Manager β
0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A
Holesky
Strategy Manager β
0xdfb5f6ce42aaa7830e94ecfccad411bef4d4d5b6Delegation Manager β
0xA44151489861Fe9e3055d95adC98FbD462B948e7
Strategies
Lido (stETH) strategy
Mainnet
Token address β
0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84Strategy address β
0x93c4b944D05dfe6df7645A86cd2206016c51564D
Holesky
Token address β
0x3F1c547b21f65e10480dE3ad8E19fAAC46C95034Strategy address β
0x7D704507b76571a51d9caE8AdDAbBFd0ba0e63d3
wETH strategy
Mainnet
Token address β
0x94373a4919B3240D86eA41593D5eBa789FEF3848Strategy address β
0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9
Holesky
Token address β
0x94373a4919B3240D86eA41593D5eBa789FEF3848Strategy address β
0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9
Stader (ETHx) strategy
Mainnet
Token address β
0xA35b1B31Ce002FBF2058D22F30f95D405200A15bStrategy address β
0x9d7eD45EE2E8FC5482fa2428f15C971e6369011d
Holesky
Token address β
0xB4F5fc289a778B80392b86fa70A7111E5bE0F859Strategy address β
0x31B6F59e1627cEfC9fA174aD03859fC337666af7
Last updated