Create Vote Signature

Create a vote signature for a Belugas Governance proposal using EIP-712. This can be used to create an 'empty ballot' without burning gas. The signature can then be sent to someone else to post to the blockchain. The recipient can post one signature using the castVoteBySig method.

  • proposalId (string) The ID of the proposal to vote on. This is an auto-incrementing integer in the Governor Bravo contract.

  • support (number) A number value of 0, 1, or 2 for the proposal vote. The numbers correspond to 'in-favor', 'against', and 'abstain` respectively.

  • RETURN (object) Returns an object that contains the v, r, and s components of an Ethereum signature as hexadecimal strings.

const belugas = new Belugas(window.ethereum);

(async () => {

  const voteForSignature = await belugas.createVoteSignature(20, 1);
  console.log('voteForSignature', voteForSignature);

  const voteAgainstSignature = await belugas.createVoteSignature(20, 0);
  console.log('voteAgainstSignature', voteAgainstSignature);

})().catch(console.error);

Last updated