* [quorum] Add interface method to check if I am in committee, implement in both concrete types
* [quorum] Only handle message when I am in committee
* [quorum][consensus] Let non-member still get onCommitted messages
Previously, networkinfo used a global context was being used with a
3-minute timeout. This caused all networkinfo discovery/advertisement
activities to stop working 3 minutes after the node startup.
Fix this by eliminating the global 3-minute context and making its
consumers use locally created contexts:
* New uses a context that does not time out;
* Init uses a context that times out in 3 minutes;
* DoService (the service “body”) uses a context that does not time out;
* findPeers accept a context from its caller, DoService.
* [unit-testing] Add unit test for effective stake calculation
* [unit-testing] Intermediate commit
* [unit-testing] Another intermediate commit
* [unit-testing] Add unit test for Roster compute
* Remove unnecessary code
* [reward] Calculate current % staked of all active validators, put down total tokens & target % stake
* [reward] Dynamic adjust of block-reward as economics report suggests
* [reward] Use shardstate to know if last block
* [reward] Log out dynamic adjustment, note about case if blockreward becomes negative
* [staking][reward] Give out block reward for cross links
* [staking][reward] Wrap reward logic based on epoch
* [votepower] Factor out votepower b/c need to compute elsewhere as well
* [reward][votepower] Award beaconchain committee members their percent due
* [reward] Only reward non-harmony slots
* [reward] Factor out only signers by commit bitmap
* [reward][votepower] Fix leftover merge based naming changes, fix nil pointer map
* [reward] Handle cross link payment succicently
* [reward] Remove unnecessary helper
* [reward] Handle legacy case of one-node-one-vote block reward (pre-staking)
* [reward] Incorrect log of reward
* [reward] Adjust back to big.Int for legacy rewarding
* [reward] Add +1 for i nonce
* [reward] Abandon formula for nonce, sizes not reliable, easier to do explicit bucketing
* [reward] Remove Prints, fix mistake on using wrong header
* [quorum] Adjust log print out for IsQuorumAchieved
* [reward] Redundant check in code path that only runs in >= staking-epoch
* [reward] Fix mistake on staked block undoing effect of voting power-sharing