IJBBuybackHook
Inherits: IJBPayHook, IJBRulesetDataHook, IUniswapV3SwapCallback
Functions
CONTROLLER
function CONTROLLER() external view returns (IJBController);
DIRECTORY
function DIRECTORY() external view returns (IJBDirectory);
PRICES
function PRICES() external view returns (IJBPrices);
MAX_TWAP_SLIPPAGE_TOLERANCE
function MAX_TWAP_SLIPPAGE_TOLERANCE() external view returns (uint256);
MIN_TWAP_SLIPPAGE_TOLERANCE
function MIN_TWAP_SLIPPAGE_TOLERANCE() external view returns (uint256);
MAX_TWAP_WINDOW
function MAX_TWAP_WINDOW() external view returns (uint256);
MIN_TWAP_WINDOW
function MIN_TWAP_WINDOW() external view returns (uint256);
TWAP_SLIPPAGE_DENOMINATOR
function TWAP_SLIPPAGE_DENOMINATOR() external view returns (uint256);
PROJECTS
function PROJECTS() external view returns (IJBProjects);
UNISWAP_V3_FACTORY
function UNISWAP_V3_FACTORY() external view returns (address);
WETH
function WETH() external view returns (IWETH9);
poolOf
function poolOf(uint256 projectId, address terminalToken) external view returns (IUniswapV3Pool pool);
projectTokenOf
function projectTokenOf(uint256 projectId) external view returns (address projectTokenOf);
twapSlippageToleranceOf
function twapSlippageToleranceOf(uint256 projectId) external view returns (uint256 slippageTolerance);
twapWindowOf
function twapWindowOf(uint256 projectId) external view returns (uint32 window);
setPoolFor
function setPoolFor(
uint256 projectId,
uint24 fee,
uint32 twapWindow,
uint256 twapSlippageTolerance,
address terminalToken
)
external
returns (IUniswapV3Pool newPool);
setTwapSlippageToleranceOf
function setTwapSlippageToleranceOf(uint256 projectId, uint256 newSlippageTolerance) external;
setTwapWindowOf
function setTwapWindowOf(uint256 projectId, uint32 newWindow) external;
Events
Swap
event Swap(
uint256 indexed projectId, uint256 amountToSwapWith, IUniswapV3Pool pool, uint256 amountReceived, address caller
);
Mint
event Mint(uint256 indexed projectId, uint256 leftoverAmount, uint256 tokenCount, address caller);
PoolAdded
event PoolAdded(uint256 indexed projectId, address indexed terminalToken, address pool, address caller);
TwapWindowChanged
event TwapWindowChanged(uint256 indexed projectId, uint256 oldWindow, uint256 newWindow, address caller);
TwapSlippageToleranceChanged
event TwapSlippageToleranceChanged(
uint256 indexed projectId, uint256 oldTolerance, uint256 newTolerance, address caller
);