Skip to main content

IJBGenericBuybackDelegate

Git Source

Inherits: IJBPayDelegate3_1_1, IJBFundingCycleDataSource3_1_1, IUniswapV3SwapCallback

Functions​

SLIPPAGE_DENOMINATOR​

function SLIPPAGE_DENOMINATOR() external view returns (uint256);

MIN_TWAP_DELTA​

function MIN_TWAP_DELTA() external view returns (uint256);

MAX_TWAP_DELTA​

function MAX_TWAP_DELTA() external view returns (uint256);

MIN_SECONDS_AGO​

function MIN_SECONDS_AGO() external view returns (uint256);

MAX_SECONDS_AGO​

function MAX_SECONDS_AGO() external view returns (uint256);

UNISWAP_V3_FACTORY​

function UNISWAP_V3_FACTORY() external view returns (address);

DIRECTORY​

function DIRECTORY() external view returns (IJBDirectory);

CONTROLLER​

function CONTROLLER() external view returns (IJBController3_1);

PROJECTS​

function PROJECTS() external view returns (IJBProjects);

WETH​

function WETH() external view returns (IWETH9);

delegateId​

function delegateId() external view returns (bytes4);

poolOf​

function poolOf(uint256 _projectId, address _terminalToken) external view returns (IUniswapV3Pool _pool);

secondsAgoOf​

function secondsAgoOf(uint256 _projectId) external view returns (uint32 _seconds);

twapDeltaOf​

function twapDeltaOf(uint256 _projectId) external view returns (uint256 _delta);

projectTokenOf​

function projectTokenOf(uint256 _projectId) external view returns (address projectTokenOf);

sweepBalanceOf​

function sweepBalanceOf(address _beneficiary, address _token) external view returns (uint256 _balance);

totalSweepBalance​

function totalSweepBalance(address _token) external view returns (uint256 _contractBalance);

setPoolFor​

function setPoolFor(uint256 _projectId, uint24 _fee, uint32 _secondsAgo, uint256 _twapDelta, address _terminalToken)
external
returns (IUniswapV3Pool _newPool);

changeSecondsAgo​

function changeSecondsAgo(uint256 _projectId, uint32 _newSecondsAgo) external;

setTwapDelta​

function setTwapDelta(uint256 _projectId, uint256 _newDelta) external;

sweep​

function sweep(address _beneficiary, address _token) external;

Events​

BuybackDelegate_Swap​

event BuybackDelegate_Swap(uint256 indexed projectId, uint256 amountEth, uint256 amountOut);

BuybackDelegate_Mint​

event BuybackDelegate_Mint(uint256 indexed projectId);

BuybackDelegate_SecondsAgoChanged​

event BuybackDelegate_SecondsAgoChanged(uint256 indexed projectId, uint256 oldSecondsAgo, uint256 newSecondsAgo);

BuybackDelegate_TwapDeltaChanged​

event BuybackDelegate_TwapDeltaChanged(uint256 indexed projectId, uint256 oldTwapDelta, uint256 newTwapDelta);

BuybackDelegate_PendingSweep​

event BuybackDelegate_PendingSweep(address indexed beneficiary, address indexed token, uint256 amount);

BuybackDelegate_PoolAdded​

event BuybackDelegate_PoolAdded(uint256 indexed projectId, address indexed terminalToken, address newPool);

Errors​

JuiceBuyback_MaximumSlippage​

error JuiceBuyback_MaximumSlippage();

JuiceBuyback_NewSecondsAgoTooLow​

error JuiceBuyback_NewSecondsAgoTooLow();

JuiceBuyback_NoProjectToken​

error JuiceBuyback_NoProjectToken();

JuiceBuyback_PoolAlreadySet​

error JuiceBuyback_PoolAlreadySet();

JuiceBuyback_TransferFailed​

error JuiceBuyback_TransferFailed();

JuiceBuyback_InvalidTwapDelta​

error JuiceBuyback_InvalidTwapDelta();

JuiceBuyback_InvalidTwapPeriod​

error JuiceBuyback_InvalidTwapPeriod();

JuiceBuyback_Unauthorized​

error JuiceBuyback_Unauthorized();