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 replayorderHash
is the hash of the bond order.srcFee
fee taken by the bond purchaser on the origin chainlpToken
the token the filler will repay to the bond purchaser needs to providelpAmount
the amount of token the bond purchaser to provide.deadline
is 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