ITaxController
This interface defines the external functions of the TaxController
contract. It provides a standard way for other contracts, like the ParityTaxHook
, to interact with the fee collection and distribution logic.
Functions
collectFeeRevenue(PoolKey calldata key, bytes32 positionKey, BalanceDelta feeDelta)
: Called to collect fees from JIT providers.distributeFeeRevenue(PoolKey calldata key, bytes32 positionKey)
: Called by PLPs to claim their share of collected fee revenue.updateTaxAccount(bytes32 positionKey, PoolKey memory poolKey, BalanceDelta feeDelta, TimeCommitment enteredTimeCommitment)
: Updates the time commitment of a position.
Events
TaxRevenueCollected(PoolId indexed poolId, bytes32 indexed positionKeyTaxee, uint128 feeDeltaAmount0, uint128 feeDeltaAmount1)
: Emitted when fees are collected from a JIT provider.TaxRevenueDistributed(PoolId indexed poolId, bytes32 indexed positionKeyReceiver, uint128 feeDeltaAmount0, uint128 feeDeltaAmount1)
: Emitted when fee revenue is distributed to a PLP.
Errors
InvalidTimeCommitment___ActionOnlyAvailableToPLP()
: Reverts if a function restricted to PLPs is called by a non-PLP.InvalidTimeCommitment___ActionOnlyAvailableToJIT()
: Reverts if a function restricted to JITs is called by a non-JIT.InvalidTimeCommitment___PositionIsNotWithdrawableYet()
: Reverts if a PLP attempts to withdraw rewards before their time commitment has expired.
Last updated