dao_propose.md 3.5 KB

Dao propose

$$ X = (cm^{token}, root^{bulla}, proposal, cm^{value^{total}}_x, cm^{value^{total}}_y) $$

$$ W = (value^{total}, blind^{value^{total}}, blind^{token}, proposal^{destination}_x, proposal^{destination}y, proposal^{amount}, proposal^{tokenId}, blind^{proposal}, proposerLimit, quorum, approvalRatio{quot}, approvalRatio_{base}, tokenId, pub_x, pub_y, blind^{bulla}, pos, path) $$

$$ \mathcal{L}= {X:(X,W)\in \mathcal{R}} $$

Create dao proposal

Public input Description
$cm^{token}$ proposal token commitment as field element
$root^{bulla}$ root of bulla in merkle tree
proposal dao proposer proposal
$cm^{value^{total}}_x$ total funds commitment's x coordinate
$cm^{value^{total}}_y$ total funds commitment's y coordinate
Witnesses Description
$value^{total}$ total proposal funds value
$blind^{value^{total}}$ blinding value for $value^{total}$ commitment
$blind^{token}$ token commitment blinding factor
$proposal^{destination}_x$ destination public key x coordinate
$proposal^{destination}_y$ destination public key y coordinate
$proposal^{amount}$ amount in proposal token
$proposal^{tokenId}$ proposal token id
$blind^{proposal}$ proposal commitment blinding term
proposerLimit governance token necessary for the vote to be valid
quorum minimum number of votes necessary to pass the proposal
$approvalRatio_{quot}$ proposal approval ratio quotient
$approvalRatio_{base}$ proposal approval ratio base
tokenId governance token id
$pub_x$ proposal public key x coordinate
$pub_y$ proposal public key y coordinate
$blind^{bulla}$ bulla commitment blinding factor
pos bulla leaf position in the merkle tree
path path of the bulla leaf at pos

Circuit checks

  • $proposal^{amount} > 0$
  • $proposerLimit <= value^{total}$