Skip to main content

IJBPayoutRedemptionPaymentTerminal

Code​

https://github.com/jbx-protocol/juice-contracts-v3/blob/main/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal.sol

Definition​

interface IJBPayoutRedemptionPaymentTerminal is
IJBPaymentTerminal,
IJBPayoutTerminal,
IJBAllowanceTerminal,
IJBRedemptionTerminal
{
event AddToBalance(
uint256 indexed projectId,
uint256 amount,
uint256 refundedFees,
string memo,
bytes metadata,
address caller
);

event Migrate(
uint256 indexed projectId,
IJBPaymentTerminal indexed to,
uint256 amount,
address caller
);

event DistributePayouts(
uint256 indexed fundingCycleConfiguration,
uint256 indexed fundingCycleNumber,
uint256 indexed projectId,
address beneficiary,
uint256 amount,
uint256 distributedAmount,
uint256 fee,
uint256 beneficiaryDistributionAmount,
string memo,
address caller
);

event UseAllowance(
uint256 indexed fundingCycleConfiguration,
uint256 indexed fundingCycleNumber,
uint256 indexed projectId,
address beneficiary,
uint256 amount,
uint256 distributedAmount,
uint256 netDistributedamount,
string memo,
address caller
);

event HoldFee(
uint256 indexed projectId,
uint256 indexed amount,
uint256 indexed fee,
uint256 feeDiscount,
address beneficiary,
address caller
);

event ProcessFee(
uint256 indexed projectId,
uint256 indexed amount,
address beneficiary,
address caller
);

event RefundHeldFees(
uint256 indexed projectId,
uint256 indexed amount,
uint256 indexed refundedFees,
uint256 leftoverAmount,
address caller
);

event Pay(
uint256 indexed fundingCycleConfiguration,
uint256 indexed fundingCycleNumber,
uint256 indexed projectId,
address payer,
address beneficiary,
uint256 amount,
uint256 beneficiaryTokenCount,
string memo,
bytes metadata,
address caller
);

event DelegateDidPay(
IJBPayDelegate indexed delegate,
JBDidPayData data,
uint256 delegatedAmount,
address caller
);

event RedeemTokens(
uint256 indexed fundingCycleConfiguration,
uint256 indexed fundingCycleNumber,
uint256 indexed projectId,
address holder,
address beneficiary,
uint256 tokenCount,
uint256 reclaimedAmount,
string memo,
address caller
);

event DelegateDidRedeem(
IJBRedemptionDelegate indexed delegate,
JBDidRedeemData data,
uint256 delegatedAmount,
address caller
);

event DistributeToPayoutSplit(
uint256 indexed projectId,
uint256 indexed domain,
uint256 indexed group,
JBSplit split,
uint256 amount,
address caller
);

event SetFee(uint256 fee, address caller);

event SetFeeGauge(IJBFeeGauge indexed feeGauge, address caller);

event SetFeelessAddress(address indexed addrs, bool indexed flag, address caller);

function projects() external view returns (IJBProjects);

function splitsStore() external view returns (IJBSplitsStore);

function directory() external view returns (IJBDirectory);

function prices() external view returns (IJBPrices);

function store() external view returns (IJBSingleTokenPaymentTerminalStore);

function baseWeightCurrency() external view returns (uint256);

function payoutSplitsGroup() external view returns (uint256);

function heldFeesOf(uint256 _projectId) external view returns (JBFee[] memory);

function fee() external view returns (uint256);

function feeGauge() external view returns (IJBFeeGauge);

function isFeelessTerminal(IJBPaymentTerminal _terminal) external view returns (bool);

function migrate(uint256 _projectId, IJBPaymentTerminal _to) external returns (uint256 balance);

function processFees(uint256 _projectId) external;

function setFee(uint256 _fee) external;

function setFeeGauge(IJBFeeGauge _feeGauge) external;

function setFeelessAddress(address _address, bool _flag) external;
}