Casey Gardiner
d25b6c6ee2
Mainnet Release Candidate 2023.1.2 ( #4376 )
...
* remove default timeouts
* store the evm call timeout in rosetta object
* [cmd] actually apply ToRPCServerConfig
* Removed unused method.
* Rotate external leaders on non-beacon chains.
* Fix nil panic.
* Bump github.com/aws/aws-sdk-go from 1.33.0 to 1.34.0
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go ) from 1.33.0 to 1.34.0.
- [Release notes](https://github.com/aws/aws-sdk-go/releases )
- [Changelog](https://github.com/aws/aws-sdk-go/blob/v1.34.0/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.33.0...v1.34.0 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump github.com/ipld/go-ipld-prime from 0.9.0 to 0.19.0
Bumps [github.com/ipld/go-ipld-prime](https://github.com/ipld/go-ipld-prime ) from 0.9.0 to 0.19.0.
- [Release notes](https://github.com/ipld/go-ipld-prime/releases )
- [Changelog](https://github.com/ipld/go-ipld-prime/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ipld/go-ipld-prime/compare/v0.9.0...v0.19.0 )
---
updated-dependencies:
- dependency-name: github.com/ipld/go-ipld-prime
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump golang.org/x/net from 0.3.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.3.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases )
- [Commits](https://github.com/golang/net/compare/v0.3.0...v0.7.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Small fixes.
* in progress.
* in progress.
* in progress.
* consensus check is forked
* update master
* fix leader
* check leader for N blocks
* fix
* fix
* Cleanup and fix update pub keys.
* Rotate leader.
* fix
fix
fix
fix
fix
* Cleaned.
* Cache for `GetLeaderPubKeyFromCoinbase`, removed `NthNextHmyExt`.
* activate epoch
* comment activation
* 295 epoch
* Fix failed tests.
* Fixed code review.
* Fix review "--port flag".
* Fix review comments.
* Returned locks in rotateLeader.
* Rebased onto dev.
* Commented golangci.
* staged stream sync v1.0
* fix protocol tests
* fix spell
* remove unused struct
* fix rosetta test
* add comments and refactor verify sig
* add comments, remove extra function
* add comment
* refactor errors, rename metrics
* refactor p2p host creation
* fix initsync and host creation
* fix short range hash chain
* fix beacon node detection for p2p protocol
* refactor stream peer cooldown and fix protocol beacon node field
* refactor p2p host and routing
* fix p2p discovery test issue
* add MaxAdvertiseWaitTime to handle advertisements interval and address stream connection issue
* terminal print the peer id and proto id
* fix boot complete message when node is shut down
* add new config option ( ForceReachabilityPublic ) to fix local-net consensus issue
* fix self query issue
* fix test NewDNSSyncingPeerProvider
* [testnet] disable leader rotation
* fix discovery issue for legacy sync
* add watermark low/high options for p2p connection manager
* add test for new conn manager flags
* fix dedent
* add comment to inform about p2p connection manager options
* fix max height issue
* add a separate log for get max height error
* fix log
* feat: triesInMemory flag
* fix: panic if TriesInMemory is 1 to 2
* in progress.
* consensus check is forked
* fix
* Cleanup and fix update pub keys.
* fix
fix
fix
fix
fix
* activate epoch
* EpochTBD for leader rotation epoch.
* 295 epoch
* Decider no longer requires public keys as a dependency. (#4289 )
* Consensus doesn't require anymore `Node` as a circular dependency.
* Proper blockchain initialization.
* Rwlock consensus.
* Removed channels.
* Removed view change locks.
* Removed timers locks.
* Removed fbft locks.
* Removed multiSigMutex locks.
* Removed leader locks.
* Removed additional locks and isViewChange.
* Added locks detected by race.
* Added locks detected by race.
* Locks for start.
* Removed additional logs.
* Removed additional locks.
* Removed additional locks.
* Make func private.
* Make VerifyBlock private.
* Make IsLeader private.
* Make ParseFBFTMessage private.
* Fix remove locks.
* Added additional locks.
* Added additional locks.
* Added readSignatureBitmapPayload locks.
* Added HandleMessageUpdate locks.
* Added LastMile locks.
* Locks for IsValidatorInCommittee.
* Fixed locks.
* Fixed tests.
* Fixed tests.
* Fixed lock.
* Rebased over leader rotation.
* Fix formatting.
* Rebased onto dev.
* in progress.
* consensus check is forked
* update master
* fix leader
* check leader for N blocks
* fix
* fix
* Cleanup and fix update pub keys.
* Rotate leader.
* fix
fix
fix
fix
fix
* Cleaned.
* Cache for `GetLeaderPubKeyFromCoinbase`, removed `NthNextHmyExt`.
* comment activation
* 295 epoch
* Fix failed tests.
* Fixed code review.
* Fix review comments.
* Merged leader rotation.
* Rebased on dev.
* Rebased on dev.
* Fix usage of private methods.
* Fix usage of private methods.
* Fix usage of private methods.
* Removed deadcode, LockedFBFTPhase.
* Fix review comment.
* Fix review comment.
* Go mod tidy.
* Set to EpochTBD.
* Fix tests.
* [core] fix state handling of self destruct
If a contract self destructs to self and then receives funds within the
same transaction, it is possible for its stale state to be saved. This
change removes that possibility by checking for deleted state objects
before returning them.
* Fixed race error.
* rpc: add configurable http and `eth_call` timeout
* remove default timeouts
* store the evm call timeout in rosetta object
* [cmd] actually apply ToRPCServerConfig
* Removed unused method.
* Rotate external leaders on non-beacon chains.
* Fix nil panic.
* in progress.
* in progress.
* in progress.
* consensus check is forked
* update master
* fix leader
* check leader for N blocks
* fix
* fix
* Cleanup and fix update pub keys.
* Rotate leader.
* fix
fix
fix
fix
fix
* Cleaned.
* Cache for `GetLeaderPubKeyFromCoinbase`, removed `NthNextHmyExt`.
* Fixed code review.
* Fix review comments.
* Returned locks in rotateLeader.
* Rebased onto dev.
* staged stream sync v1.0
* refactor errors, rename metrics
* fix p2p discovery test issue
* add watermark low/high options for p2p connection manager
* fix dedent
* in progress.
* consensus check is forked
* fix
* Cleanup and fix update pub keys.
* fix
fix
fix
fix
fix
* activate epoch
* EpochTBD for leader rotation epoch.
* 295 epoch
* Decider no longer requires public keys as a dependency. (#4289 )
* Consensus doesn't require anymore `Node` as a circular dependency.
* Proper blockchain initialization.
* Rwlock consensus.
* Removed channels.
* Removed view change locks.
* Removed multiSigMutex locks.
* Removed leader locks.
* Removed additional locks and isViewChange.
* Added locks detected by race.
* Added locks detected by race.
* Locks for start.
* Removed additional locks.
* Removed additional locks.
* Make func private.
* Make VerifyBlock private.
* Make IsLeader private.
* Make ParseFBFTMessage private.
* Fix remove locks.
* Added additional locks.
* Added additional locks.
* Added readSignatureBitmapPayload locks.
* Added HandleMessageUpdate locks.
* Added LastMile locks.
* Locks for IsValidatorInCommittee.
* Fixed locks.
* Fixed tests.
* Fixed lock.
* Rebased over leader rotation.
* in progress.
* consensus check is forked
* update master
* fix leader
* check leader for N blocks
* fix
* fix
* Cleanup and fix update pub keys.
* Rotate leader.
* fix
fix
fix
fix
fix
* Cleaned.
* Cache for `GetLeaderPubKeyFromCoinbase`, removed `NthNextHmyExt`.
* Fix failed tests.
* Fixed code review.
* Fix review comments.
* Merged leader rotation.
* Rebased on dev.
* Rebased on dev.
* Fix usage of private methods.
* Fix usage of private methods.
* Fix usage of private methods.
* Removed deadcode, LockedFBFTPhase.
* Fix review comment.
* Go mod tidy.
* remove default timeouts
* Rotate external leaders on non-beacon chains.
* Fix nil panic.
* Fixes.
* Update singleton.go
* evm: don't return extcode for validators
Due to technical debt, validator information is stored in the code field
of the address. The code field can be accessed in Solidity for an
arbitrary address using `extcodesize`, `extcodehash`, and `extcodecopy`
or helper commands (such as `address.code.Length`). The presence of this
field is used by contract developers to (erroneously) deny smart
contract access to other smart contracts (and therefore, validators).
This PR fixes that oversight by returning the same values as other EOAs
for known validator addresses. Obviously, it needs a hard fork that will
be scheduled separately.
* Fix context passing.
* Clean up code.
* Removed engine dependency.
* Fix possible panic.
* Clean up code.
* Network type.
* Fix tests.
* Revert "Removed engine dependency." (#4392 )
* Revert "Fix tests."
This reverts commit 597ba2d6f1
.
* Revert "Network type."
This reverts commit 5e1878aedc
.
* Revert "Clean up code."
This reverts commit 15885f4c9b
.
* Revert "Fix possible panic."
This reverts commit 1a70d5eb66
.
* Revert "Removed engine dependency."
This reverts commit 8c2ff803f7
.
* gitignore the cache folder (#4389 )
* stable localnet with external validator (#4388 )
* stable localnet with external validator
* ignore deploy config file comments
* reduce node launched in localnet
* update makefile
* localnet configuration - add more fn
* fix validator information command typo
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com>
Co-authored-by: frozen <355847+Frozen@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: “GheisMohammadi” <“Gheis.Mohammadi@gmail.com”>
Co-authored-by: “GheisMohammadi” <36589218+GheisMohammadi@users.noreply.github.com>
Co-authored-by: Sun Hyuk Ahn <sunhyukahn@Suns-MacBook-Pro.local>
Co-authored-by: Soph <35721420+sophoah@users.noreply.github.com>
2 years ago
PeekPI
0b342d769e
Testnet shard reduction ( #4301 )
...
* reduce shard of testnet to 2
* remove harmony inner nodes in shard2 and shard3
* check shardID in VerifyCrossLink
* get NumShards by epoch instead of hardcodeed shards
* add Localnet in NewGenesisSpec
* do mayTestnetShardReduction in the block before the last block
* fix localnet epoch calculation
* not use old committee if shard reduction happens
* fix preLastBlock calculation
* do testnet shard reduction when propose new blocks
* enable 2s block period at epoch 0
* call IntermediateRoot once in the end
* skip inactive&baned validators when testnet shard reduction happens
* update ShardReductionEpoch to epoch 486
2 years ago
Konstantin
0753c94c2b
Epoch syncing - syncing only epoch blocks. ( #4070 )
...
* Epoch syncing - syncing only epoch blocks.
* Fix go test, added command to run.
* Block signature validation.
* Support getting block by height.
* Fix to compile.
* Http method.
* Generate fix.
* Install protoc-gen-go-grpc.
* Fix sync, additional timeouts, fix epoch.
* Chain behaviour options, optional state validation on blockchain initialization.
* Added limit to avoid abuse, small fixes.
* Fix duplicate code.
* Fix isInSyn.
* Fix method call.
* Removed additional block sending.
* Fix in sync.
* Code clean up.
* Fix beacon chain func.
* Return back Beaconchain.
* Fix sending only epoch blocks.
* Fix failed startup with validator.
* Increase recv message size.
* Remove peer.
* Add logs.
* Add logs.
* Fix msgf call.
* Epoch syncing - syncing only epoch blocks.
* Block signature validation.
* Fix sync, additional timeouts, fix epoch.
* Chain behaviour options, optional state validation on blockchain initialization.
* Support getting block by height.
* Http method.
* Fix duplicate code.
* Fix isInSyn.
* Added limit to avoid abuse, small fixes.
* Fix method call.
* Removed additional block sending.
* Fix in sync.
* Small fix.
* Code clean up.
* Fix beacon chain func.
* Return back Beaconchain.
* Fix sending only epoch blocks.
* Fix failed startup with validator.
* Increase recv message size.
* Remove peer.
* Add logs.
* Fix msgf call.
* Sending crosslinks from beacon to non-beacon chains.
* Receiving crosslinks.
* Broadcast.
* Fix comment.
* Crosslink signal.
* Crosslink hardbeat signal receiving.
* Sending crosslinks from beacon to non-beacon chains.
* Sending crosslinks from beacon to non-beacon chains.
* Broadcast.
* Fix comment.
* Crosslink signal.
* Crosslink signal.
* Add comment to run tests.
* Fix comments.
* Fix comments.
* Fix review comments.
* Updated with last crosslink heart beat signal.
* Merged crosslink signal.
* Clean up code.
* Add logs for cl debug.
* Stop iterate on receiving result.
* Add logs.
* Fix in sync check.
* Fix reconnect problems.
* Fix tests and reduce dependency.
* Updated with main.
* Fix review comments.
* Changed to compare epochs.
* Fix crosslinks usage.
* Fix initialization.
* Epoch chain implementation.
* Legacy sync by default.
* Revert "Legacy sync by default."
This reverts commit 5fa6ce002a
.
* Epoch sync for downloader.
* Build docker image while tests.
* Fix paths.
* Updated travis.
* Review improvements.
Co-authored-by: Konstantin <k.potapov@softpro.com>
2 years ago
Konstantin
06de7dcd6c
Fix race errors. ( #4184 )
...
* Fix data races.
* Fix block num.
* Pub key lock.
* Fixed race errors.
* Fix flag.
* Fix comments.
* Fix comments.
* Fix type.
* Fix race errors in tests.
Co-authored-by: Konstantin <k.potapov@softpro.com>
2 years ago
Rongjian Lan
d52a7c5b66
fix build
3 years ago
Rongjian Lan
11a4f87c3f
send 2/3 commit before block insertion in final commit; do not include txns in epoch block
3 years ago
Rongjian Lan
af30da7cff
keep proposing block
3 years ago
Rongjian Lan
d442ba9efc
Cache block processing results and reuse during block commitment to db ( #3905 )
...
* Cache block processing results and reuse during block commitment to db
* fix comments
3 years ago
Rongjian Lan
ef9fd043a2
Add vrf proposal and vrf epoch
4 years ago
Rongjian Lan
52ac53e6d1
limit crosslink in each block
4 years ago
Jacky Wang
f00c90e3e6
Graceful shutdown - All registered services are shutdown gracefully. ( #3533 )
...
1. Refactored service manager with cleaner interface.
2. Add prometheus to the service manager.
3. Graceful shutdown of the services (including consensus).
4. Some code refactor regarding consensus graceful shutdown.
Co-authored-by: Rongjian Lan <rongjian.lan@gmail.com>
4 years ago
Rongjian Lan
9381b95cdc
Remove special eth txn in block and block proposal logic. ( #3496 )
...
* Add ethereum transaction support
* fix fmt
* fix lint
* add new block body fork logic
* add back deleted code
* lower case block version const
* add eth txn into new version of block
* refactor back
* refactor more
* fix test code
* Fix build
* Fix build
* revert eth txn in block and block proposal
* fix build
* fix build
* fix build
4 years ago
Rongjian Lan
666033c3eb
Add InternalTransaction and CoreTransaction interface to abstract txns ( #3494 )
...
* Add ethereum transaction support
* fix fmt
* fix lint
* add new block body fork logic
* add back deleted code
* lower case block version const
* add eth txn into new version of block
* refactor back
* refactor more
* fix test code
* Fix build
* Fix build
4 years ago
Leo Chen
b38118fcbb
[node] graceful shutdown validators ( #3483 )
...
* [node] graceful shutdown validator and leader
when leader/validator is in commit phase, wait until it finishes the consensus
before shutdown the node.
This is useful for node upgrade to avoid unexpected blockchain state.
Signed-off-by: Leo Chen <leo@harmony.one>
* [node] stop block proposal service on leader
Signed-off-by: Leo Chen <leo@harmony.one>
* [node] warn on block proposal stopped
Signed-off-by: Leo Chen <leo@harmony.one>
Co-authored-by: Rongjian Lan <rongjian.lan@gmail.com>
4 years ago
Rongjian Lan
21b162cc67
Fix inconsistent block proposal and verification ( #3485 )
...
* Fix inconsistent block proposal and verification
* change log level and add comment
4 years ago
Rongjian Lan
8d878e575d
Fix viewID in block proposal
4 years ago
Rongjian Lan
8821807946
Fixes viewID and view change ID base
4 years ago
Rongjian Lan
b87f90e5dd
fix finality count for leader
4 years ago
Rongjian Lan
2aed5e16df
fix finality count for leader
4 years ago
Rongjian Lan
f91d781fe4
add Delayed sending
4 years ago
Rongjian Lan
0029ced6b2
Add constant for timeouts
4 years ago
Rongjian Lan
628174b379
fix block proposal
4 years ago
Rongjian Lan
41c5b42516
make block proposing timing aligned with pipelining
4 years ago
Rongjian Lan
0e95cb634b
fix sync race condition
4 years ago
Rongjian Lan
4aef0f4132
do not sent committed at 67%
4 years ago
Rongjian Lan
49d7985f14
some more logic cleanup
4 years ago
Rongjian Lan
ee3dd70676
merge
4 years ago
Rongjian Lan
611448a0a1
pipelining wireframe
4 years ago
Rongjian Lan
a666e14ef3
Add more tests
4 years ago
Rongjian Lan
af8fe283db
Add more comments and shorten timeout
4 years ago
Leo Chen
b76ac39d48
[viewchange] rename GetCurViewID to GetCurBlockViewID
...
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Leo Chen
a551c05ed8
[rpc] expose consensus internal data via rpc
...
This is used to debug consensus/viewchange state.
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
151286ce04
Fix travis
4 years ago
Rongjian Lan
6845775078
Make block proposal async and receiving last commit sig through channel
4 years ago
Leo Chen
42923336c9
[viewchange] encapsulate both viewID and viewChangeID
...
[viewchange] encapsulate view ID in the State struct
do NOT ues consensus.current directory to set/get viewID
use the following functions
consensus.SetCurViewID, consensus.SetViewChangingID
consensus.GetCurViewID, consensus.GetViewChangingID
Signed-off-by: Leo Chen <leo@harmony.one>
4 years ago
Rongjian Lan
19db99d3f7
Increase time buffer; add db cache; change log level
4 years ago
Rongjian Lan
9c0554ddc9
Use finer grained RWMutex for consensus logic ( #3239 )
...
* Use finer graned RWMutex for consensus logic
* Correct GOMAXPROCS to be the same as num CPUs
4 years ago
Rongjian Lan
8a08da67ca
Remove unused code and add benchmark for consensus msg check ( #3211 )
4 years ago
Rongjian Lan
67d77c3965
Refactor bls public key into a wrapper ( #3203 )
...
* Refactor bls public key into a wrapper
* Fix build
* Fix
4 years ago
Rongjian Lan
819500aa70
cherrypick log level change
5 years ago
Rongjian Lan
e85c1f3064
Fix log levels ( #3058 )
5 years ago
Rongjian Lan
ea2347fa5e
Cherrypick crosslink related fixes from t3 to master. ( #3045 )
...
* Optimize crosslink verification logic and add more cache (#3032 )
* make crosslink broadcast smarter and more efficient (#3036 )
* adjust catch up speed to be a sane number
* Fix crosslink broadcast condition (#3041 )
5 years ago
Rongjian Lan
eb4fcc93ab
Optimize crosslink verification logic and add more cache ( #3032 )
5 years ago
Rongjian Lan
b823126bfe
verify block before proposal ( #2968 )
...
* verify block before proposal
* only verify header after block proposal
5 years ago
Rongjian Lan
8fde77d88f
Revert merge normal and staking txns ( #2895 )
...
* Revert merge normal and staking txns
* fix lint
* fix build
5 years ago
Rongjian Lan
3808f5317b
Make commit sig committed along with the block ( #2875 )
...
* Make commit sig committed along with the block
* Fix type len check
5 years ago
Ganesha Upadhyaya
21327e697e
[core][node/worker] processing staking and normal transactions together ( #2869 )
...
* 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
5 years ago
Ganesha Upadhyaya
4524e1b7ba
[node] move self address to node, make it updatable every epoch ( #2799 )
...
* [node] move self address to node, make it updatable every epoch
* golint issues
* making thread-safe, better naming, handling nil cases better
* golint
* correct locking, return on nil
5 years ago
Rongjian Lan
e484b556ae
optimize leader signature collection strategy; Clean up logs ( #2775 )
...
* 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
5 years ago
Edgar Aroutiounian
9fa85b586b
[project] Remove dead Lottery app code, optimize node/... on what staticcheck showed ( #2688 )
5 years ago