Required interface of LBFactory contract
struct LBPairInformation{
uint16 binStep;
ILBPair LBPair;
bool createdByOwner;
bool ignoredForRouting;
}
Structure to store the LBPair information, such as:
binStep: The bin step of the LBPair
LBPair: The address of the LBPair
createdByOwner: Whether the pair was created by the owner of the factory
ignoredForRouting: Whether the pair is ignored for routing or not. An ignored pair will not be explored during routes finding
LBPairCreated
event LBPairCreated(
IERC20 indexed tokenX,
IERC20 indexed tokenY,
uint256 indexed binStep,
ILBPair LBPair,
uint256 pid
)
FeeRecipientSet
event FeeRecipientSet(address oldRecipient, address newRecipient)
FlashLoanFeeSet
event FlashLoanFeeSet(uint256 oldFlashLoanFee, uint256 newFlashLoanFee)
LBPairImplementationSet
event LBPairImplementationSet(address oldLBPairImplementation, address LBPairImplementation)
LBPairIgnoredStateChanged
event LBPairIgnoredStateChanged(ILBPair indexed LBPair, bool ignored)
PresetSet
event PresetSet(
uint256 indexed binStep,
uint256 baseFactor,
uint256 filterPeriod,
uint256 decayPeriod,
uint256 reductionFactor,
uint256 variableFeeControl,
uint256 protocolShare,
uint256 maxVolatilityAccumulator
)
PresetOpenStateChanged
event PresetOpenStateChanged(uint256 indexed binStep, bool indexed isOpen)
PresetRemoved
event PresetRemoved(uint256 indexed binStep);
QuoteAssetAdded
event QuoteAssetAdded(IERC20 indexed quoteAsset)
QuoteAssetRemoved
event QuoteAssetRemoved(IERC20 indexed quoteAsset)
getMinBinStep
function getMinBinStep() external pure override returns (uint256 minBinStep)
getFeeRecipient
function getFeeRecipient() external view override returns (address feeRecipient)
getMaxFlashLoanFee
function getMaxFlashLoanFee() external pure override returns (uint256 maxFee)
getFlashLoanFee
function getFlashLoanFee() external view override returns (uint256 flashloanFee)
getLBPairImplementation
function getLBPairImplementation() external view override returns (address lbPairImplementation)
getNumberOfLBPairs
function getNumberOfLBPairs() external view override returns (uint256 lbPairNumber)
getLBPairAtIndex
function getLBPairAtIndex(uint256 index) external view override returns (ILBPair lbPair)
getNumberOfQuoteAssets
function getNumberOfQuoteAssets() external view override returns (uint256 numberOfQuoteAssets)
getQuoteAssetAtIndex
function getQuoteAssetAtIndex(uint256 index) external view override returns (IERC20 asset)
isQuoteAsset
function isQuoteAsset(IERC20 token) external view override returns (bool isQuote)
function getLBPairInformation(IERC20 tokenA, IERC20 tokenB, uint256 binStep) external view override returns (LBPairInformation memory lbPairInformation)
getPreset
function getPreset(uint256 binStep) external view override returns (uint256 baseFactor, uint256 filterPeriod, uint256 decayPeriod, uint256 reductionFactor, uint256 variableFeeControl, uint256 protocolShare, uint256 maxVolatilityAccumulator, bool isOpen)
getAllBinSteps
function getAllBinSteps() external view override returns (uint256[] memory binStepWithPreset)
getAllLBPairs
function getAllLBPairs(IERC20 tokenX, IERC20 tokenY) external view override returns (LBPairInformation[] memory lbPairsAvailable)
setLBPairImplementation
function setLBPairImplementation(address newLBPairImplementation) external override onlyOwner
createLBPair
function createLBPair(IERC20 tokenX, IERC20 tokenY, uint24 activeId, uint16 binStep) external override returns (ILBPair pair)
setLBPairIgnored
function setLBPairIgnored(IERC20 tokenX, IERC20 tokenY, uint16 binStep, bool ignored) external override onlyOwner
setPreset
function setPreset(uint16 binStep, uint16 baseFactor, uint16 filterPeriod, uint16 decayPeriod, uint16 reductionFactor, uint24 variableFeeControl, uint16 protocolShare, uint24 maxVolatilityAccumulator, bool isOpen) external override onlyOwner
setPresetOpenState
function setPresetOpenState(uint16 binStep, bool isOpen) external override onlyOwner
removePreset
function removePreset(uint16 binStep) external override onlyOwner
setFeesParametersOnPair
function setFeesParametersOnPair(
IERC20 tokenX,
IERC20 tokenY,
uint16 binStep,
uint16 baseFactor,
uint16 filterPeriod,
uint16 decayPeriod,
uint16 reductionFactor,
uint24 variableFeeControl,
uint16 protocolShare,
uint24 maxVolatilityAccumulator
) external override onlyOwner
setFeeRecipient
function setFeeRecipient(address feeRecipient) external override onlyOwner
setFlashLoanFee
function setFlashLoanFee(uint256 flashLoanFee) external override onlyOwner
addQuoteAsset
function addQuoteAsset(IERC20 quoteAsset) external override onlyOwner
removeQuoteAsset
function removeQuoteAsset(IERC20 quoteAsset) external
forceDecay
function forceDecay(ILBPair lbPair) external