* Revert "remove old design code"
This reverts commit 58448f6b23.
* fix revert conflicts
* change blspubkey type as 48 bytes for easily serialization
* WIP
* remove redelegate txType
* update delegator and validatorWrapper data structure
* fix golang test
* move txType into message creation
* remove validatorMap on statedb; move validatprMap update logic up to higher level of codes and from onchain to offchain.
* [consensus] Factor out enums to core/values, begin factor out of consensus mechanisms
* [consensus] Make Mechanism explicit
* [consensus] Add ViewChange to QuorumPhase
* Update core/values/consensus.go
Co-Authored-By: Eugene Kim <ek@harmony.one>
* Update core/values/consensus.go
Co-Authored-By: Eugene Kim <ek@harmony.one>
* [mainnet-release] Address code comments
* [staking][consensus][project] Remove txgen, factor out consensus
* [consensus] Factor out PublicKeys
* [txgen] Bring back txgen
* [project] Undo prior consolidation of error values under core
* [consensus] Update tests using quorum decider
* [consensus] Fix overlooked resets during refactor
* [consensus] Fix wrong check of quorum phase
* [consensus] Address leftover TODO for prepare count
* [consensus] Simplfy reset switch
* [consensus] Fix mistake of wrong ReadSignature in ViewChange, need sender, not node PubKey
* [staking] Factor some project errors into values core/pkg. Thread stking Txs through Finalize
* [staking] Incorporate Chao code from PR 1700
* [staking] Remove dead staking code, create const values, factor out dec from staking
* [staking] Remove voting power for now till discussion, factor out more error values
* [staking] Sign staking transaction with standalone staking-iterate CLI
* [staking] golint
* [staking] Fix for build, move transaction under staking/types
* [staking] Send RLP signed staking transaction, receive in RPC
* [staking] Organize staking packages, send over specific staking message
* [staking] Satisfy jenkins build in temp CLI staking-iterate
* [staking] Adjust naming of types
* [staking] Fold separate package into types as initial creation by RJ
[cleanup] remove is_genesis flag
Signed-off-by: Leo Chen <leo@harmony.one>
[nodetype] add nodetype to replace is_explorer
Signed-off-by: Leo Chen <leo@harmony.one>
fix beacon sync channel blocking issue
use lastMileMux to protect lastMileBlock queue to avoid potential blocking; use sleep instead of ticker
Fix the beacon committee check
[release] add release action to go_executable_build.sh
Signed-off-by: Leo Chen <leo@harmony.one>
[node.sh] add -d option
-d download only
Signed-off-by: Leo Chen <leo@harmony.one>
[node.sh] add -T node_type option
-T node_type support node type (validator/explorer)
Signed-off-by: Leo Chen <leo@harmony.one>
[node.sh] backward compatible with older harmony binary
Signed-off-by: Leo Chen <leo@harmony.one>
[node.sh] support -i shard_id option
-i shard_id specify shard_id, this is applicable only to
explorer node
Signed-off-by: Leo Chen <leo@harmony.one>
Revisited api
Fix rpc integration
address some minor issues in comments and code
addressed comments on others' buckets
Add Global Access to OS Temp Directory Variable and Move DHT Files Into Temp Directory
Add flag to disable signers
Fix explorer handler
Fix explorer handler
fix explorer for loop
add shardID information in getTransactionByHash RPC CALL
Add CXReceipt RPC call; Add indexing for CXReceipt by TxHash
use only one index for CXEntryLookup; use shardID instead of fromShardID in RPC returned results
This is to allow for all 4 shards to roll into CrossTxEpoch and start
having cross-shard-transaction-related fields in block header/body
before the fields are actually used. Otherwise, if a shard A enters
CrossTxEpoch before shard B does and sends a cross-shard receipt to
shard B, it cannot be processed because chain B still lacks the incoming
receipts field.
This could occur as a result of database corruption or database update
race, where transaction → (blockHash, blockNum, txIndex) lookup succeeds
but the body for blockHash is not (yet) in the database.
Follow the same strategy for header versioning, except put everything
into the same "./core/types" package – for now. Adaptation of the
existing code outside the package to come next.
For now, follow header version (v0 or v1). Later header/block versions
should become independent: Blocks should have their own epoch-based
versioning schedule, and it should be possible to bump header version
without bump block version, and vice versa.