* Remove unneeded "wait_neighbours_not_empty"
* Fix "round_started_at" for the first round
* Fix use after move in overlay.cpp
* Move "last gc masterchain state" stat to CellDbIn::prepare_stats
* Fix disabling state serializer
* getactorstats query for validator-engine-console
* celldb in-memory mode (--celldb-in-memory option)
* rldp2: bugfix - do not estimate speed while nothing is sent
* add simple ed25519 benchmark
* fix compilation errors of different platforms and move to c++20
* fix some warnings
* turn on TON_USE_ABSEIL for glibc 2.27 nix build
---------
Co-authored-by: birydrad <>
* Validator improvements
* Fix cancelling state serialization
* Disable state serializer on all mainnet validators
* Flag --catchain-max-block-delay-slow
* Set default catchain-max-block-delay to 0.4, delay-slow to 1.0
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Improve validator session stats
* Collator stats: block limits, number of processed external messages
* Collator and validator work time
* Last key block seqno
* Approvers and signers
* End validator session stats
This commit contains some parts of https://github.com/ton-blockchain/ton/tree/accelerator
This is auxiliary code that mostly does not change node behavior.
1) Semiprivate overlays and other improvements in overlays code
2) Rename actual_min_split -> monitor_min_split, fix building shard overlays
3) Loading block candidates by block id from DB, fix accept_block after validator restart
4) Cells: ProofStorageStat and changes in CellUsageTree
5) Remove some unused code, other minor changes
* Improve validator session stats
* Collator stats: block limits, number of processed external messages
* Collator and validator work time
* Last key block seqno
* Approvers and signers
* End validator session stats
* Private overlay for external messages
* Improve ext msg overlays
* Manage from validator console
* Bypass out queue size limit for high-priority messages
* Shuffle messages in get_external_messages
* Cleanup mempool when creating validator group
* Improve private overlays for externals
1. Allow using validator adnl ids in addition to fullnode ids
2. Set priority per sender, not per overlay
3. Require the same overlay name for all nodes
4. Enable lz4 in private block overlay
* Fix typo, add debug logs
* Enable lz4 in private block overlay by config
Change proto_version for lz4 in catchain overlays to 4
* Add logs for broadcasts in fullnode
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Fix "sgn" in fift; fix marking infinite loops as noterurn in func
* TON-P1-1: Remove unused catchain queries
* TON-P1-15: Avoid synchronization with self
* TON-P1-3, TON-P1-17: Disallow more than one candidate per src per round (to prevent flood), add checks to process_broadcast
* TON-P1-10: Fix fast/slow attempts
* TON-P1-14: Add named constants
* TON-P1-18, TON-P1-19: Alloc temporary memory in the same way as persistent memory
* TON-P1-20: Add comment to choose_blocks_to_approve
* TON-P1-16: Avoid creating two catchain blocks on need_new_block
* TON-P1-8: Add some validation to validator-engine parameters
* TON-P1-6: Don't allow sending the same block many times
Many requests for the same block are not unusual (however, there's no need to answer them all)
* TON-P1-2: Enable prohibiting dependencies from blamed nodes (2.7.5 in CatChain doc), fix processing blame proofs
* Best practices
bp-6: Fix incorrect warning
bp-7: Remove unused code
bp-8: Bring back PerfWarningTimer logging (only when no callback)
bp-9: Remove unnecessary condition
bp-11: Remove commented-out code
bp-13: Divide code in validator-session-state
Adherence to Specification: Fix typo
* Option "--disable-ext-msg-broadcast"
* "Get shard out queue size" query
* Move disabling ext msg broadcasts from command-line arguments to config
* Fix compilation error
* Asynchronous store_cell and gc in celldb
* Make GC in celldb work evenly over time
* Increase timeouts for downloading blocks
* Reuse blocks from previous rounds in validator session
* Use Rldp2 in FullNode for downloading persistent states and archives
* Improve logs in download-archive-slice and download-state
* Decrease delay between serializing shards
* Make CellDbIn::load_cell synchronous to avoid interfering with store_cell
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
- added new fift/func code for validator complaint creation
- bugfixes in validator
- updates in tonlib
- new versions of rocksdb/abseil
- hardfork support
- added some fift scripts for the config change proposal voting
- added validator-engine-console support for the config change proposal voting
- additional sanity checks in catchain
- unsafe slow catchain resync method