* completing create-validator tests
generalizing create validator tests, started with edit validator tests
one round completed before major refactor
* [test] finished coding test TestCheckDuplicateFields
* [test] finished debug TestCheckDuplicateFields
* [test] Added TestDescription_EnsureLength
* [test] added test in validator_test.go TestUpdateDescription
* [test] Added test TestComputed_String
* [test] refactored TestValidatorSanityCheck and added some message in error message returned from sanity check
* [test] removed test index for debugging
* [test] Added test TestValidatorWrapper_SanityCheck. Added value check for TestMarshalUnmarshalValidator. Fixed rlp usage defect in UnmarshalValidator
* [test] added test TestVerifyBLSKeys
* [test] added test TestContainsHarmonyBLSKeys
* [test] added test TestCreateValidatorFromNewMsg
* [test] fixed some tests errors
* [test] added test TestUpdateValidatorFromEditMsg, last editted the test file, finished testing validator_test.go
* [staking] added numeric.Dec.Copy method
* [staking] added CommissionRates.Copy
* [staking] add nil case handle to copy method and related test case
* [test] added nil case for commissionRates.Copy test
* [staking] finished CreateValidator.Copy and related test case
* [staking] added EditValidator.Copy method and related test case
* [test] added zero test cases for Copy method
* [staking] implemented Delegate.Copy and related unit test case
* [staking] added Undelegate.Copy and CollectReward.Copy method. Implemented corresponding test cases
* [test] added two more simple unit tests
* [test] solving the merge conflict with deep copy fix
* [test] restore the changes made to staking_verifier_test.go
* [test] resolve test conflicts in core
Co-authored-by: Ganesha Upadhyaya <ganeshrvce@gmail.com>
* apr average over last hundred epochs
* minor
* upcounting once activation to include the impact on apr when not in committeee
* validator stats maintain APR histories as fixed length circular slice
* use map instead of slice for flexibility
* use APRHistoryLength instead of 100
* APR for currentEpochSuperCommittee.Epoch and not newEpochSuperCommittee.Epoch
* Remove same-validator redelegation feature which is useless and confusing
* Fix comments
* Detect duplicate name or identity
* check bls dups
* Remove name dedup as it's risky
* equal rather than compare on address
* Add better error content
* Fix travis
* processing staking and normal transactions together
* bug fix and removing unwanted method
* made sense to rename and move the TransactionsByPriceAndNonce to pool type
* accounting for prestaking blocks, need to keep the previous order for processing txs
* Add cache to state validator access; refactor snapshot read/write
* make validator update happen at commit
* fix lint
* make sure slashing applies on validator wrapper in state
* Revert live update of validtor wrapper in staking txn
* add init population of validator cache logic
* Fix validator cache commit logic
* Separate validatorWrapper func
* fix build
* Fix lint
* [node] Unused package level big.Int
* [p2p] Throttle receives to a max of 100
* [project] Remove msgq
* [node][p2p] Only allow 100 max message handling at time
* [node][p2p] Throttle max message handler with Weighted Semaphore - init w/ uniform weight
* [node] Use go routine for passing handled block
* [p2p] Leftover commented out
* [node] Add log for when cannot pay semaphore cost
* [node] Bump max message handlers
* [internal] Remove file_embed
* [project] Remove unused file, unused function
* [consensus] Unused values
* [config] Unused field & function
* [internal] Unused address & hash
* [project] More unused tests, values, types
* [project] Move conn logger just to bootnode
* [rpc] Remove dead functions
* [internal] More unused functions
* [project] Remove dead keystore dir package
* [p2p] Need lock to grab all Topics
* [node] Force side effect of topic join, give each topic own weighted semaphore
* Updating all sources of block.Transactions and do the corresponding work for block staking txns
* remove usages of uncle in accessors_chain_test
* fix bug in core/blockchain.go where incorrect receipt data was generated in SetReceiptsData
* [go] upgrade golang to 1.14
Signed-off-by: Leo Chen <leo@harmony.one>
* [go] fix goimports and update go.mod
Signed-off-by: Leo Chen <leo@harmony.one>
* [docker] update golang version
Signed-off-by: Leo Chen <leo@harmony.one>
* [project] Dead test
* [node] If fields always same, then just use the constant
* [project] Remove overcomplicated ctxerror
* [project] Remove more dead tests, adjust error replacing ctxerror
* [project] More dead tests, fix travis complaint on Errorf
* [node.sh] Remove is-genesis
* [internal] Remove dead RPC/wallet
* [rpc] Reduce API surface area for dead RPC
* [node] Remove dead flags, unused setters
* [project] Unused logger, too many loggers
* [core] staticcheck fixes, remove unused db keys
* [project] More dead code through, now in param and genesis
* [internal] Useless test
* Clean up logs
* remove log
* Refactor block period logic; wait for 100% sig before timeout
* logic fixes
* optimize now init
* always wait for 2s for grace period
properly fixing the apr return value semantics
golint
wrapping errors and making them more useful
more fixes
optimizing to check directly using delegations[0], instead of TotalDelegations
* Revert "Revert "fix earned-reward by writing the stats only once, remove from UpdateValdiatorVotingPower (#2737)" (#2742)"
This reverts commit 832b01dfff.
* Don't div by 0; print out debug info
* [state] Error on div zero
* [state] Do not pay out commit when commit is 0%
* [state] Put whole commission in guarded block
* [core] Reward cannot be zero
* [state] return nil, not hard error
* staking txn. look up by hash fix on api backend rawdb storage
* node explorer staking txn 'history' RPC layer support
* fix unit test
* add error log when explorer node db instance cannot be fetched
* revert unwanted merge changes during rebase
* use already encoded tx message fields for get staking txn rpc
* update explorer node storage service for staking txns
* use hex string for staking transaction data field
* revert transaction pool apiv1 changes
* [reward] Implement tracking rewards for beacon & shardchain (via crosslinks)
* [reward][rpc] Track reward given out per key for validator stats, compose to expose in validator RPC