* 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>
* Add logs to collator and validator
* More logs to get_ext_messages, decrease verbosity level
* Adjust allowed time lag for last_liteserver_state
* Change verbosity of STATUS message
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Improve handling outbound message queues
* Cleanup queue faster
* Calculate queue sizes in background
* Force or limit split/merge depending on queue size
* Increase validate_ref limit for transaction
* Add all changes of public libraries to block size estimation
* Don't crash on timeout in GC
* Don't import external messages when queue is too big
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Add parameter --celldb-compress-depth to speed up celldb
* Fix collator timeout
* Add block_state_cache
* Adjust state cache ttl
* Don't merge shards when queue is too big
* Decrease lt limit if previous block is too old
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Add getperfwarningtimeraverage query for validator-engine-console
* Fix for getperfwarningtimeraverage query
* getperftimerstats
* Add history max size: 1 hour
* PerfWarningTimer: move callback instead of copy
* PerfWarningTimer: fix move constructor bug
* PerfWarningTimer: fix bug: lifetime of the callback was greater than lifetime of the local variable 'manager' captured by reference
* Fix validate-query.cpp: 'manager' used after it was moved
* PerfWarningTimer: remove logs
* getperftimerstats: write to json file
* getperftimerstatsjson
Co-authored-by: legaii <jgates.ardux@gmail.com>
Co-authored-by: Ivan Siomash <106972486+legaii@users.noreply.github.com>
* Fix double serialization of masterchain; increase sync_blocks_before
* Improve logging in DownloadState
* Write persistent state directly to file instead of a buffer
* Don't keep ref to masterchain state in AsyncStateSerializer
* Sparse state serialization over longer period
Co-authored-by: SpyCheese <mikle98@yandex.ru>
Taken from https://github.com/akme/ton/blob/master/.github/workflows/ccpp-linux.yml
Fixing error LNK2019: unresolved external symbol _GetProcessMemoryInfo@12 when building windows desktop client
Fixes compilation error of lite-client on windows
Fixes compilation error:
error C2664: 'std::pair<td::int64,td::int64> std::make_pair<td::int64,td::int64>(_Ty1 &&,_Ty2 &&) noexcept (<expr>)': cannot convert argument 1 from 'const td::uint64' to '_Ty1 &&'
make_pair() has been changed in VS2012 to support a new C++11 feature called move semantics and I suspect that explicitly specifying the types for make_pair() is getting in the way.
The fix should be safe for linux distro as well.
Adding Github action - Win64 ton compile (#14)
* Add github action win64 compile
* manager.cpp - Strange though, but due to this kind of type usage win64 compilation fails. Let's make it more generic.
- 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