BondIntent
Overview
The BondIntent allows users to express the desire to borrow liquidity for the purpose of inventory free solving. The BondIntent is an ERC721 token that the filler of the BondIntent mints when the bond intent is filled.
Message Format
Messages largely match what is in the intentpool specification. The BondInfo has the following fields:
struct BondInfo {
address solver;
uint256 nonce;
bytes32 orderHash; // hash of the bond order
uint256 srcFee; // fee taken on the src chain
Item input; // input of the order
Item output; // output of the order
address lpToken; // the token the filler of the BondIntent needs to provide
uint256 lpAmount; // the amount the filler of the BondIntent needs to provide
uint256 deadline; // deadline for the intent issuer to successfully use the borrowed liqudity
}solver, the address of the original bond issuernonce, a nonce provided for preventing replayorderHashis the hash of the bond order.srcFeefee taken by the bond purchaser on the origin chainlpTokenthe token the filler will repay to the bond purchaser needs to providelpAmountthe amount of token the bond purchaser to provide.deadlineis the deadline for the intent issuer to successfully use the borrowed liquidity.
struct Item {
address token; // ERC20 token
uint256 amountStart;
uint256 amountEnd;
uint32 chainId;
}Fees
There are two fees, those paid on the origin chain and fees paid on the destination chain. The fees from the origin chain are implemented as a revenue-sharing measure between filler and liquidity provider, and are taken from the funds from the initiating swapper. The fees on the destination chain are provided in a separate token to the bond purchaser.
Last updated