Source: src/core/treasuries/SplitterTreasury_v1.sol. Interfaces: ISplitterTreasury_v1, ITreasury_v1.

Functions

fetchFunds

Fetches token funds into the treasury. Parameters ITreasury_v1.sol#L49

setElevation

Sets the referenceCurve raise treasury address and its share count atomically. Parameters ISplitterTreasury_v1.sol#L259

setElevationFeePercentage

Sets the elevation fee percentage Parameters ISplitterTreasury_v1.sol#L240

setElevationFeeTreasury

Sets the elevation fee treasury address Parameters ISplitterTreasury_v1.sol#L246

setRecipients

Sets the recipients and their shares, replacing any existing configuration Parameters ISplitterTreasury_v1.sol#L227

View functions

getElevationFeePercentage

Returns the current elevation fee percentage Returns ISplitterTreasury_v1.sol#L188

getElevationFeeTreasury

Returns the address of the elevation fee treasury Returns ISplitterTreasury_v1.sol#L195

getElevationShares

Returns the share count allocated to the referenceCurve raise treasury in the distribution Returns ISplitterTreasury_v1.sol#L213

getElevationTreasury

Returns the address of the referenceCurve raise treasury Returns ISplitterTreasury_v1.sol#L205

getFunds

Returns the total funds in the treasury. Parameters Returns ITreasury_v1.sol#L41

getRecipientsAndShares

Returns all recipients and their corresponding shares Returns ISplitterTreasury_v1.sol#L173

getTotalShares

Returns the total number of shares across all recipients Returns ISplitterTreasury_v1.sol#L180

Events

ElevationAllowanceNotCleared

Emitted when the best-effort allowance clear after an elevation callback failed, so destination_ keeps an allowance on this splitter. Parameters ISplitterTreasury_v1.sol#L160

ElevationFeePaid

Emitted when elevation fee is paid to the elevation fee treasury Parameters ISplitterTreasury_v1.sol#L107

ElevationFeePercentageUpdated

Emitted when the elevation fee percentage is updated Parameters ISplitterTreasury_v1.sol#L112

ElevationFeeTreasuryUpdated

Emitted when the elevation fee treasury address is updated Parameters ISplitterTreasury_v1.sol#L117

ElevationPayment

Emitted when a referenceCurve raise payment is forwarded via fetchFunds to the referenceCurve raise treasury Parameters ISplitterTreasury_v1.sol#L140

ElevationPaymentSkipped

Emitted when the elevation callback did not pull the full pending amount (callback reverted, destination has no code, approve failed, or an under-pull), so the rest of the distribution and the upstream op still succeed. Parameters ISplitterTreasury_v1.sol#L152

ElevationUpdated

Emitted when the referenceCurve raise treasury or shares are updated Parameters ISplitterTreasury_v1.sol#L129

RecipientAdded

Emitted when a recipient is added to the configuration Parameters ISplitterTreasury_v1.sol#L85

RecipientPayment

Emitted for each individual recipient payment Parameters ISplitterTreasury_v1.sol#L97

RecipientsCleared

Emitted when all recipients are cleared from the configuration ISplitterTreasury_v1.sol#L88

Treasury_FundsReceived

Emitted when token funds are received. Parameters ITreasury_v1.sol#L31

Errors

Module__SplitterTreasury__ElevationFeeTreasuryIsZeroAddress

Thrown when the elevation fee treasury address is the zero address ISplitterTreasury_v1.sol#L52

Module__SplitterTreasury__ElevationSharesAreZero

Thrown when referenceCurve raise shares are zero ISplitterTreasury_v1.sol#L74

Module__SplitterTreasury__ElevationTreasuryIsZeroAddress

Thrown when the referenceCurve raise treasury address is zero ISplitterTreasury_v1.sol#L66

Module__SplitterTreasury__EmptyRecipients

Thrown when recipients array is empty ISplitterTreasury_v1.sol#L58

Module__SplitterTreasury__InvalidArrayLength

Thrown when recipients and shares arrays have different lengths ISplitterTreasury_v1.sol#L40

Module__SplitterTreasury__InvalidElevationTreasury

Thrown when the elevation destination is the splitter itself or has no code. Parameters ISplitterTreasury_v1.sol#L71

Module__SplitterTreasury__InvalidFeePercentage

Thrown when an invalid fee percentage is provided ISplitterTreasury_v1.sol#L55

Module__SplitterTreasury__RecipientAlreadyExists

Thrown when attempting to add a recipient that already exists ISplitterTreasury_v1.sol#L49

Module__SplitterTreasury__RecipientIsZeroAddress

Thrown when a recipient address is the zero address ISplitterTreasury_v1.sol#L43

Module__SplitterTreasury__SharesAreZero

Thrown when shares for a recipient are zero ISplitterTreasury_v1.sol#L46

Module__SplitterTreasury__TooManyRecipients

Thrown when a configuration exceeds the measured recipient cap Parameters ISplitterTreasury_v1.sol#L61