Creating a proposal
Last updated
Was this helpful?
Last updated
Was this helpful?
This is a guide for creating a proposal in any Romulus governance system.
A minimum number of voting power. In most systems, it will be 1% of all voting power
A basic understanding of smart contracts
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 to 0x0000000000000000000000000000000000000000
Lookup the POOF contract interface. Since POOF is an ERC20, it will have . Transferring refers to the function function transfer(address recipient, uint256 amount) external returns (bool);
Press Add
under Commands
Specify the 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 transfer
Specify transfer(address, uint256)
as the signature
Specify address,uint256
as the types
Specify 0x0000000000000000000000000000000000000000,100
as the values
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