It requires `tokio_unstable` in rust flags, so a `tokio-console`
features is added to be compatible with the default config.
To compile with the tokio console enabled, compile with
``RUSTFLAGS="--cfg tokio_unstable" cargo build --release --features tokio-console``
The usage of the tokio console can be found in https://github.com/tokio-rs/console.
* Upgrade rust toolchain to avoid macro-proc issue of latest rust analyzer
* Update random sync metrics
* Adjust default config for sync layer
* Cache the recent announced file for random sync with priority
* Fix clippy
* fix auto sync failure reason issue
* Add cached ready txs info in rpc
* fix lint
* Add shard config in status message
* verify shard config for status message
* Notify peer connected to sync layer after status message exchanged
* Do not dial to shard config mismatched peers
* Upgrade network protocol version
* disconnect peer instead of ban peer if shard config mismatch
* Add python test for TCP connection by shard config
* Only use tx seq for tx status.
* Return the first finalized tx by data root if possible.
This index is used for upload/download segments and file status check.
In all the cases, if there is a finalized transaction, we should use it.
* Supports to randomly sync historical files
* Add name for random file sync batcher
* Remove sync store metrics since multiple random batcher created
* opt log
* ignore pruned or finalized historical file
* Add python tests for historical file sync
* Add new P2P protocol NewFile
* Publish NewFile message when any file finalized
* handle NewFile message in router
* handle NewFile in sync servic to write in db
* use propagation source to handle NewFile message
* Disable sequential sync and store new file in v2 sync store
* Add shard config in FindFile
* Add AnnounceFile RPC message in network layer
* do not propagate FindFile to whole network
* Mark peer connected if FileAnnouncement RPC message received
* fix unit test failures
* Change P2P protocol version
* Ignore py tests of sequential auto sync
* Add py test for auto sync v2
* fmt code
* remove dummy code in py test
* fix random test failure
* Add comments
* Enable file sync protocol v2 in config file by default
* Check the local flow root against the contract state.
* Check zero contract root.
* Fix wrong root before the first segment.
* Update contracts.
* Fix proof insertion.