// The description of the proposal you want to pass
const description = "This is a great proposal - vote for it!";
// You can (optionally) pass in contract calls that will get executed when the proposal is executed.
const executions = [
// The contract you want to make a call to
// The amount of the native currency to send in this transaction
// Transaction data that will be executed when the proposal is executed
// This is an example transfer transaction with a token contract (which you would need to setup in code)
transactionData: tokenContract.encoder.encode("transfer", [
const proposal = await contract.propose(description, executions);
propose(description: string, executions?: ProposalExecutable): Promise<TransactionResultWithId>;
|description||string||The description of the proposal.|
|executions||ProposalExecutable||(Optional) A set of executable transactions that will be run if the proposal is passed and executed.|
- The id of the created proposal and the transaction receipt.
Create a new proposal for token holders to vote on.