Bond
The Bond contracts are generated by the BondFactory, and are used to exchange to Excalibur users GRAIL rewards against liquidity or a single asset, to feed the DAO treasury.
Github: https://github.com/ExcaliburExchange/contracts/blob/main/farm/Bonding.sol
Initialization
Every Bond contract instance is initialized with a deposit token (can be a LP or a single asset), the DAO treasury address, a ratio (between the deposit token and GRAIL), a start time, durations for the deposit phase and the vesting period, and a maximum total bonding amount.
It can be initialized only one time, and only by its owner (the BondFactory contract).
Activation
In order to be operational, a Bond contract must be activated through the BondFactory. It can only be made before its startTime
.
Deposits
Once the startTime has been reached, it enters into the deposit phase. That means that anyone can create bonds until either the maximum deposit amount or the end of the deposit phase has been reached.
Every deposited token will be directly sent to the treasury.
Vesting
Default Bond contracts are set so that the bonder will be able to claim some of the rewards as they vest, the full amount being claimable once the end of the vesting period has been reached.
A canHarvestBeforeEnd_
bool has also been set for more specific setups. In this case, harvesting won't be enabled until the complete end of the vesting term.
Last updated