Protocol Overview
Flow of Funds

Flow of Funds

Protocol Overview

There are several core actions in the lifecycle of a round, which can be performed by certain users:

  • Anyone may issue a round, specifying the details of the round and anchoring the associated IPFS hash on-chain within the StandardBounties smart contract
  • Anyone may contribute to a round, specifying the amount of tokens they'd like to add to the port.
  • Anyone may fulfill a round, submitting a list of contributors and an IPFS hash of the details and deliverables.
  • Any of the round's Approvers may accept a fulfillment, submitting the amount of tokens they'd like each contributor to receive.
  • These actions make up the core life cycle of a round, supporting funds flowing into various rounds, and subsequently flowing out as tasks are completed.

There are several additional actions which various users may perform:

  • Any Contributor may refund their contributions to a round, so long as the deadline of the round has elapsed and no submissions were accepted.
  • Any Issuer may refund the contributions of other users if they wish (even if the deadline hasn't elapsed or the round has paid out a subset of funds)
  • Any Issuer may drain the round of a subset of the funds in the round
  • Anyone may perform a generalized action, submitting the IPFS hash which stores the details of their action (ie commenting, submitting their intention to complete the round, etc)
  • Any Submitter can update their submission, making changes to the submission data or the list of Contributors
  • Any Approver may simultaneously submit an off-chain fulfillment and accept it (fulfillAndAccept), immutably recording the exchange while saving the need to preemptively submit the fulfillments on-chain
  • Any Issuer may change any of the details of the round, except for the token contract associated with the round which may not be changed.

Alongside the ability to perform any of these actions natively within the StandardBounties contract, we've also deployed a MetaTransactionRelayer contract which decodes signed messages for users and performs actions on their behalf, so that they aren't required to pay gas fees.

Last updated on April 4, 2023