๐Ÿ—ณ๏ธProcedure

This page outlines the process of submitting a DAO proposal and voting on it.

To submit a proposal to the DAO, one needs to hold at least 1 ILIS and present it to the voting contract (component_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78), together with a description of your proposal, using the propose method on the voting contract by submitting a transaction manifest*. All relevant details, such as voting period and conditions for the vote to pass (must be a simple majority or higher) must be included in the description. An example of a transaction manifest used to submit a proposal:

CALL_METHOD
  Address("{your_account_address}")
  "withdraw"
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Decimal("1")
;

TAKE_ALL_FROM_WORKTOP
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Bucket("proof_of_membership")
;

CALL_METHOD
  Address("component_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78")
  "propose"
  "{your proposal's description}" //describe your proposal following the guidelines mentioned above
  Bucket("proof_of_membership")
;

CALL_METHOD
  Address("{your_account_address}")
  "deposit_batch"
  Expression("ENTIRE_WORKTOP")
;

After a proposal is submitted, it is displayed on the official venue, together with the relevant parameters. Voting on a proposal is done through the vote_on_proposal method on the voting contract.

To call this method, a manifest like such can be used:

CALL_METHOD
  Address("{your_account_address}")
  "withdraw"
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Decimal("{amount_to_vote_with}") //fill in the amount of ilis you want to vote with
;

TAKE_ALL_FROM_WORKTOP
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Bucket("ilis_to_vote_with")
;

CALL_METHOD
  Address("component_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78")
  "vote_on_proposal"
  {proposal_id}i64 //fill in the proposal id of the proposal you want to vote on. This is displayed on the official venue next to a proposal (https://ilikeitstable.com/governance)
  {vote}           //fill in whether you want to vote for or against the proposal, use `true` to vote for, and `false` to vote against.
  Bucket("ilis_to_vote_with")
;

CALL_METHOD
  Address("{your_account_address}")
  "deposit_batch"
  Expression("ENTIRE_WORKTOP")
;

After the voting period has passed, and the conditions to pass have been met it is excecuted, preferably autonomously. If a proposal cannot be autonomously executed on chain after passing, the managing members are responsible for executing the necessary steps to enact the proposal.

* submitting a transaction manifest to the Radix DLT can be done in multiple ways, but we recommend using the console by RDX Works: https://console.radixdlt.com/transaction-manifest

Last updated