## doubts 1. The vote reward calculation is done for every block. But for every block, the total votes of top 127 candidates may change. So do we need to consider the changing total votes or the total votes calculated at the end of previous round ? (i.e the total votes calculated at the end of previous round will be treated as a constant and used for entire round) 2. The voter has the provision to cast, change, remove votes at any time and any number of times right. So for example in a round, a voter changes the votes for a witness node in the following way: t1: a votes, t2: b votes, t3: c votes .... So in this case, do we need to calculate the rewards for the entire round at once (at the end of the round by considering c votes) or do we need to calculate rewards in intervals (i.e till t2, reward calculated based on "a" votes, from t2 to t3 rewards are caluclated based on "b" votes...) 3. When a user unstakes the stacked amount (say that amount is not used for voting at all), will this transaction also invalidate all the votes (votes casted using different staked amount) 4. Is there any API that could give us the composition of rewards of an account? (composition as in giving the reward values obtained because of different witness nodes seperately) or we need to parse the entire block chain to (to calculate the votes, round ranking etc) from the genesis block to track the reward composition of the accounts (mostly those accounts that are delegating tokens to some specific candidate)