Skip to main content

IJBBuybackHook

Git Source

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
);