DAO contracts

Actors

Vesting specific actors

  • anyone can

    • query vesting infos

    • query claimable amount for an address

  • private / seed investor can

    • claim the BRO their eligible for once their vesting period is over

  • if there is an owner they can

    • register new schedules

    • overwrite existing schedules

    • delete old schedules

Airdrop specific actors

  • anyone can

    • query the latest Stage

    • query the merkle root for any stage

    • query whether a certain address already claimed for a certain stage

  • wallets eligible for the airdrop can

    • claim once the amount it’s eligible for a certain stage

  • if there is an owner they can

    • register a new Merkle root

BRO ERC20 specific actors

  • anyone can

    • query balances of any address

    • query transfer approvals

  • token holders can

    • transfer, approve transfers, revoke transfers

    • burn their tokens

bBRO adapted ERC20 specific actors

  • anyone can

    • query balances of any address

    • query whether an address is whitelisted

  • token holders can

    • burn their tokens

  • if there is an owner they can

    • whitelist an address

    • remove a whitelisted address

  • whitelist addresses can

    • mint new tokens

TokenDistributor specific actors

  • anyone can

    • distribute tokens once per epoch

    • query distribution amount per epoch

    • query if contract is ready for distribution

    • query passed epochs since last distribution

    • query distribution handlers by index

  • if there is an owner they can

    • add, remove, and update a distribution handler

    • pause / unpause the contract

Treasury specific actors

  • anyone can

    • query whether a token is whitelisted

    • query the balance of a certain (native) token of the treasury

  • if there is an owner they can

    • transfer any (native) token

    • add and remove tokens from being whitelisted

Bonding specific actors

  • anyone can

    • bond

    • claim their previously bonded tokens

    • query the bonding simulation

    • query the bonding mode

    • query the mode configuration

    • query all claims of a specified address

    • query which tokens can be bonded

    • query where the bonded tokens are transferred to

  • if there is an owner they can

    • add, enable, disable, remove the tokens used for bonding

    • set the bonding mode - β€œnormal” or β€œtreasury bootstrapping / community”

    • set minimum BRO payout

    • pause, unpause the contract

  • if there is a distributor they can

    • distribute fresh BRO to the contract that can be used as payout

Staking specific actors

  • anyone can

    • query info about specified staker

  • token holders can

    • stake, unstake and withdraw their tokens

    • cancel unstaking

    • claim rewards and auto-compound them

  • if there is an owner they can

    • pause, unpause the contract

    • set the treasury bootstrapping (community) bonding contract

    • set the distributor contract

    • set minimum staking amount

    • set minimum and maximum unstaking period

    • set max amount of unstake batches

    • set max withdrawals per unstake batch

    • set params for reward calculations, both when staked and when in unstaking

  • if there is a distributor they can

    • invoke reward distribution of BRO

  • if there is a treasury bootstrapping / community bonding they can

    • stake their BRO on behalf of another address

EpochManager specific actors

  • anyone can

    • query the epoch length

  • if there is an owner they can

    • set the epoch length

TWAPOracle specific actors

  • anyone can

    • update the current price

    • query the current price

Trust Model

Some of the contracts require trust in a potentially centralized owner type of role.

Roles of the type anyone and token holders listed above may be performed by anyone with access to the underlying network, and sufficient resources to participate.

The owner will be initially a Multisignature Contract. Later on, it’s planned to set up a DAO structure and hand over trusted functionality to it.

Last updated

About Brokkr

WebsiteXDiscord