* 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
* 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.
* add metrics in log sync package
* udpate auto sync metrics
* Add metrics for completed file sync
* add more metrics for serial file sync
* adjust default timeout value for auto sync
* fix metrics rpc for Timer type
* add metrics for channel
* refactor channel metrics
* add timeout metrics for segment sync
* refactor channel receiver
* Use inner lock in storage.
* Remove mut.
* Remove async lock for storage.
* Fix tests and warnings.
* Use spawn_blocking for storage task.
* Fix clippy.
* Finalize the new tx at last.
* Revert "Finalize the new tx at last."
This reverts commit b56ad5582d.
* Wait for old same-root txs to finalize.
* Use async storage in miner.
* Update rust version to 1.79.0.
* Use Vec to avoid stack overflow.
* Fix unused warning.
* Fix clippy.
* Fix test warning.
* Fix test.
* fmt.
* Use async storage in pruner.
* nit.
* Implement Pruner.
* Put pruner in a crate.
* Fix clippy.
* Add rpc zgs_getShardConfig.
* Fix.
* Increase wait time.
* Add pruner_test and use max_num_chunks instead of size_limit.
* Store shard config for peers and choose sync peers accordingly.
* Add test and fix sync.
* Fix clippy and test.
* Fix some ut.
* Add AnnounceShardConfig gossip and fix tests.
* Add sharded tx finalize check in LogManager.
* Try,
* Rename.
* Longer timeout for mine_test.
* Save test logs.
* add admin rpc to terminate file or chunks sync
* Disallow to change file sync goal when failed
* split admin rpc into separate endpoints
* Support to launch public and private rpc at one port
* use one rpc port for python test
* fix lint
* restart to sync file or chunks if sync already completed or failed
* Add proof data for chunk proof.
* Support file proof.
* Update with segment proof and fix issues.
* Fix more issues.
* Fix the process of file proof.
* Merge branch 'main' into fix_proof
* Enable sync_test.
* Fix wrongly updated submodule.
* Fix bsc node version.
* refactor p2p signed message
* add new pubsub messages in network layer to find chunks
* handle find chunks pubsub message in router
* Supports to sync partial chunks
* add admin rpc to sync chunks
* limit number of chunks to sync at a time
* refactor code to sync file and chunks
* add more switches to trigger file sync
* fix ut failure
* refactor code