If you already know the poll id and option id, you can skip straight to step 3.
Find the poll id:
Polls are initialized when the createPoll function is called on the arbitrum polling contract (https://arbiscan.io/address/0x4f4e551b4920a5417F8d4e7f8f099660dAdadcEC). If you look at the transaction list of this contract, you’ll see the recent Create Poll calls
To find the transaction that created the poll you’re looking for, you can search through the above transaction list.
b. You’ll want to verify that the poll meets a few criteria:
0xdc7ee5da5d011bc98cf030968659f3ee92232843
and 0x8541ccfc6e7eacebd233c6789a0fbf7c708b0e68
, and 0x777cc2b5ec4c50b5aec0c0d9f8d1b8599ef2a54c
c. Click on the transaction hash to pull up the transaction page, then click on Logs:
We can see that the poll id is 958, by looking in Topics
next to 2
.
Find option id:
Data
(see above image)c. We can also verify that the poll is an active poll by verifying that the startDate is in the past, and the endDate is in the future. Unix timestamps are used for this, so 1678118400 corresponds to Mon Mar 06 2023 16:00:00 GMT+0000 for example. Use this link to convert unix timestamps.
d. Verify that this poll is not a ranked choice poll, by checking that the the input_format is single-choice. If it is rank-free or choose-free or something else, then you will need to convert your rank of options into the correct format. This guide may be updated in the future to describe how to do that.
Vote!
If you are voting directly from your wallet (not using a delegate contract), visit the write contract
tab of the mainnet polling contract: https://etherscan.io/address/0xF9be8F0945acDdeeDaA64DFCA5Fe9629D0CF8E5D#writeContract . If you are using a delegate contract, skip this section and jump to section c.
To vote Yes in the poll that we found in step 1 above, we input 958 (poll id) and 1 (option id that corresponds to Yes) into the vote function like so:
c. If you are using a delegate contract, visit the write contract tab of your delegate contract. For example:
Example delegate contract. https://etherscan.io/address/0x222d46d1229036c7bb6ea3f453406792ca3c3ea2#writeContract
On the delegate contract, the function is called votePoll
. The same parameters are passed in as described in section b.
d. Click the Connect to Web3 button to connect your wallet:
Etherscan supports Metamask, WalletConnect and Coinbase Wallet. Gnosis safe users can select WalletConnect to copy the QR code into Safe’s WalletConnect app, as described here.
e. Then click Write
, sign and send the transaction in your wallet, and you’re done!