Creating a proposal
This is a guide for creating a proposal in any Romulus governance system.
Prerequisites
A minimum number of voting power. In most systems, it will be 1% of all voting power
A basic understanding of smart contracts
How to create a proposal
Pick the governance system you would like to create a proposal in. E.g. Poof.cash, Ubeswap etc.
Press
Create Proposal
Add commands that your proposal will execute. For example, if you wanted to transfer 100 POOF to
0x0000000000000000000000000000000000000000
Lookup the POOF contract interface. Since POOF is an ERC20, it will have these functions. Transferring refers to the function
function transfer(address recipient, uint256 amount) external returns (bool);
Press
Add
underCommands
Specify the POOF contract address as the target because that is the contract we need to call to transfer tokens. In this scenario, it is
0x00400FcbF0816bebB94654259de7273f4A05c762
Specify
0
as the value as there is no need to give CELO to the POOF contract to transferSpecify
transfer(address, uint256)
as the signatureSpecify
address,uint256
as the typesSpecify
0x0000000000000000000000000000000000000000,100
as the values
Notes
Creating a proposal does not affect your token balance
Every proposer can only have one active proposal at a time
If your voting power falls below the minimum number of votes for proposal creation while your proposal is active, your active proposal is at risk of being cancelled by anyone
If your proposal succeeds, you need to actively queue, then execute the proposal to ensure that the actions occur
Proposers can always cancel their own active proposal
Last updated