DefaultBondModule
Overview
DefaultBondModule
contract handles deposits and withdrawals for bonds in the symbiotic module system.
Key Features
Bond Deposits: Facilitates deposits into bonds, managing token allowances securely.
Bond Withdrawals: Enables secure withdrawals from bonds.
Allowance Management: Uses
safeIncreaseAllowance
to ensure the appropriate token allowances are set.
Methods
Bond Deposit
deposit(address, uint256)
: Deposits tokens into a specified bond.bond: The address of the bond.
amount: The amount of tokens to deposit.
Returns: The deposited amount.
Errors: Returns 0 if the amount is zero.
Event:
DefaultBondModuleDeposit(address, uint256, uint256)
: Emitted after a successful deposit.bond: Address of the bond.
amount: Amount deposited.
timestamp: Timestamp of the deposit.
Bond Withdrawal
withdraw(address, uint256)
: Withdraws tokens from a specified bond.bond: The address of the bond.
amount: The amount of tokens to withdraw.
Returns: The amount withdrawn.
Errors:
Returns 0 if the amount is zero or the bond balance is insufficient.
Event:
DefaultBondModuleWithdraw(address, uint256)
: Emitted after a successful withdrawal.bond: Address of the bond.
amount: Amount withdrawn.