[BD-4229] Accuracy of vote weights
Vote Tables
There are several tables that contain vote weights.
eosio > producers
total_votes
Total votes (proxied and direct) for the producer
Data validation task:
Confirm total_votes
values are correct. I would like to do this by looking at the individual balances for all voters in the voters table. Do NOT use the eosio > voters > last_vote_weight
values as we are not certain if those are accurate. This needs to account for proxied votes, etc.
Output should be a table with:
producer account
total_votes
value from state tableCalculated total votes (from raw token balances of voters and proxies)
Example:
{
"id": 0,
"owner": "dacobcm2lnnc",
"fio_address": "bp@thedac",
"addresshash": "0x44ddade5cd4acba595ea2a42c23414b2",
"total_votes": "351415064593433088.00000000000000000",
"producer_public_key": "FIO8UxsfvX6QpjukrFqbaUMtT7WfeiXZRE26F4ATAwYjwZacUACNw",
"is_active": 1,
"url": "https://eosdac.io",
"unpaid_blocks": 0,
"last_claim_time": "2022-12-05T18:04:17.000",
"last_bpclaim": 1670263457,
"location": 10
}
eosio > voters
last_vote_weight
The amount of unlocked FIO in the account
proxied_vote_weight
The total vote weight delegated to this voter as a proxy (they may or may not be registered as a proxy).
Example:
{
"id": 0,
"fioaddress": "",
"addresshash": "0x00000000000000000000000000000000",
"owner": "t21zeqsjq5cb",
"proxy": "",
"producers": [
"dacobcm2lnnc",
"jnmwi5vu3hle",
"lion4uxxfbqo",
"t21zeqsjq5cb",
"wrcjejslfplp"
],
"last_vote_weight": "200510623467412.00000000000000000",
"proxied_vote_weight": "0.00000000000000000",
"is_proxy": 0,
"is_auto_proxy": 0,
"reserved2": 0,
"reserved3": "0 "
}
eosio > global
total_voted_fio
The amount of unlocked FIO that has been proxied or voted
total_producer_vote_weight
The sum of all producer votes. Because users can vote for more than one producer, this value can be above the 1,000,000,000 total token threshold
Example:
[
{
"max_block_net_usage": 1048576,
"target_block_net_usage_pct": 1000,
"max_transaction_net_usage": 524288,
"base_per_transaction_net_usage": 12,
"net_usage_leeway": 500,
"context_free_discount_net_usage_num": 20,
"context_free_discount_net_usage_den": 100,
"max_block_cpu_usage": 200000,
"target_block_cpu_usage_pct": 2000,
"max_transaction_cpu_usage": 150000,
"min_transaction_cpu_usage": 100,
"max_transaction_lifetime": 3600,
"deferred_trx_expiration_window": 600,
"max_transaction_delay": 3888000,
"max_inline_action_size": 4096,
"max_inline_action_depth": 4,
"max_authority_depth": 6,
"last_producer_schedule_update": "2022-12-05T18:24:24.500",
"last_pervote_bucket_fill": "2020-04-02T14:44:44.500",
"pervote_bucket": 0,
"perblock_bucket": 0,
"total_unpaid_blocks": 0,
"total_voted_fio": -2252240166286294016,
"thresh_voted_fio_time": "2020-04-02T14:44:44.000",
"last_producer_schedule_size": 21,
"total_producer_vote_weight": "9834825251230883840.00000000000000000",
"last_name_close": "2000-01-01T00:00:00.000",
"last_fee_update": "2020-06-11T09:30:18.500"
}
]
eosio > global2
total_producer_votepay_share
Not sure what this is?
Example:
fio.treasury > voteshares
votes
Not sure what this is?
Example: