Administration
The Bunnybox protocol adopts a decentralized governance approach with minimal global intervention. Here are the limited global functions accessible by a privileged administrative address, initially assigned to the BunnyboxDAO multisig, elected by Bunnybox members:
BunnyProjects.setTokenUriResolver(...): Enables the owner of the BunnyProjects contract to specify and update the IJBTokenUriResolver responsible for resolving metadata for project NFTs in its tokenURI(...) function.
BunnyPrices.addFeedFor(...): Allows the owner of the BunnyPrices contract to incorporate new price feeds used for converting amounts from one currency to another. Once added, a price feed remains immutable.
BunnyDirectory.setIsAllowedToSetFirstController(...): Empowers the owner of the BunnyDirectory contract to include or exclude addresses authorized to set a project's initial controller on its behalf.
BunnyETHPaymentTerminal3_1_1.setFee(...): Enables the owner of the BunnyETHPaymentTerminal3_1_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3_1_1) to adjust the protocol fee levied when projects distribute their treasury funds outside the protocol ecosystem or when funds are redeemed from a project with a redemption rate below 100%. The maximum fee is set at 5%.
BunnyETHPaymentTerminal3_1_1.setFeeGauge(...): Provides authority to the owner of the BunnyETHPaymentTerminal3_1_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3_1_1) to modify the fee gauge determining fee discounts on a per-project basis.
BunnyETHPaymentTerminal3_1_1.setFeelessAddress(...): Allows the owner of the BunnyETHPaymentTerminal3_1_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3_1_1) to add or remove addresses exempt from protocol fees when receiving distributed funds or refunding held fees back to the project's balance.
BunnyETHPaymentTerminal3_1_1.processFees(...): Authorizes the owner of the BunnyETHPaymentTerminal3_1_1 (or any terminal inheriting from BunnyPayoutRedemptionPaymentTerminal3_1_1) to manage the processing of held fees for any project.
Ownership for each contract is independently managed and can be transferred to a new owner by the current owner, ensuring autonomy and flexibility within the Bunnybox ecosystem.
Last updated