To start there is a difference between tokens approved for the Voting Registry and Voting credits.
You can approve as many tokens as you would like to the Registry, for example 1,000,000 even if you have much less tokens than that. This is just telling the registry you approve up to that amount of tokens to be deposited to the Voting contract.
Voting Credit are your FOAM tokens currently located in the voting smart contract.
- When you submit a vote, your tokens are transferred to the voting contract and become Voting Credit.
- Voting Credit is not displayed in your balance of FOAM tokens in MetaMask. You must withdraw unlocked Voting Credit to have access to it there.
- In the Voting tab of My Assets, you can approve voting tokens in advance to streamline the process.
- You can use the same Voting Credit to vote in multiple challenges at the same time.
Voting Credit has 2 states: locked and unlocked. In My Assets under the Voting tab, Total Voting Credit shows your combined balance of unlocked and locked Voting Credit.
- Unlocked Voting Credit is Voting Credit available to be withdrawn from the voting smart contract back into your Ethereum wallet connected to MetaMask. Go to the Voting tab of My Assets to withdraw unlocked Voting Credit.
- Locked Voting Credit is Voting Credit currently being used in a challenge. You can always use locked Voting Credit in as many challenges as you like. But you won’t be able to return locked Voting Credit to your MetaMask wallet until all active challenges have completed and it has been unlocked.
There are 2 ways to unlock Voting Credit:
- Reveal your vote during the vote reveal period to unlock it automatically after the challenge completes.
- Visit the Voting tab of My Assets. At the bottom, you can see your votes never revealed during the vote reveal period. Click the button at the bottom to unlock all eligible Voting Credit.
NOTE: You can only submit a vote as long as the amount is within your combined balance of Total Voting Credit and Approved Registry Tokens.
All of this utilizes the Partial Lock Commit Reveal Voting (PLCR) process.
It is definitely not straightforward, and certainly confusing re: using the same tokens across multiple polls. Let me know if this answers your questions.