SpyCheese
a745f6f679
Merge branch 'testnet' into block-generation
2024-04-26 12:08:28 +03:00
EmelyanenkoK
9a543c6b28
Add more info to session stats ( #973 )
...
* Improve validator session stats
* Improve validator session stats
Add got_submit_at, collation_cached, validation_cached.
Fix stats cleanup.
* Fix setting timestamp for cached blocks
* Add serialize/deserialize time, serialized size to validator session stats, fix setting is_accepted
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-25 18:47:15 +03:00
EmelyanenkoK
d2b012c883
Add write time stats to celldb/db_stats.txt ( #972 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-25 18:45:39 +03:00
SpyCheese
1b7f7aed9f
Merge branch 'refs/heads/testnet' into block-generation
2024-04-15 14:09:19 +03:00
EmelyanenkoK
190aa6bd4a
Use shard client timestamp to determine expiration of temp archives ( #965 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-15 13:44:12 +03:00
SpyCheese
8143eb074e
Merge branch 'testnet' into block-generation
2024-04-08 14:44:28 +03:00
EmelyanenkoK
a2bd695b89
Fix prepare_vm_c7 ( #958 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-08 14:29:54 +03:00
EmelyanenkoK
b8111d8b5b
Fix setting due_payment in storage phase ( #957 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-08 11:15:52 +03:00
EmelyanenkoK
cc4244f5a4
Fix setting inited_ in FullNodeCustomOverlay ( #954 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-03 12:11:07 +03:00
EmelyanenkoK
8390d887d3
Set temp packages ttl to 1h ( #953 )
...
This leaves only 3 last temp packages
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-02 11:46:40 +03:00
SpyCheese
1fda6902a9
Merge branch 'testnet' into block-generation
2024-04-01 18:32:44 +03:00
EmelyanenkoK
f7907bdd58
Rename private ext msg overlays to custom overlays, change interface a bit ( #952 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-01 18:24:08 +03:00
SpyCheese
4916e4847a
Merge branch 'testnet' into block-generation
2024-04-01 17:28:23 +03:00
EmelyanenkoK
0434eadc1f
Add custom overlays for external messages ( #949 )
...
* 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>
2024-04-01 16:44:08 +03:00
Marat
46ca0e6014
Check pack_statistics for nullptr ( #950 )
2024-03-29 22:01:53 +03:00
SpyCheese
f5cedc3b6e
Enable compression in private overlays v2 and in collator node
2024-03-29 15:04:07 +03:00
SpyCheese
8385336eab
Merge branch 'testnet' into block-generation
2024-03-28 18:12:21 +03:00
Marat
10487b1c71
Collect statistics for .pack files ( #944 )
...
* Statistics for .pack files
* optimizations
* fix typo
* fix erasing packages
2024-03-27 14:23:11 +03:00
SpyCheese
036ce69786
Use compression in new private overlays
2024-03-26 16:22:52 +03:00
SpyCheese
7999a7e2c1
Merge branch 'testnet' into block-generation
2024-03-26 16:19:34 +03:00
EmelyanenkoK
b07614335c
liteServer.getOutMsgQueueSizes method ( #943 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 15:55:58 +03:00
EmelyanenkoK
0bcebe8a0e
Exp/compress candidates ( #942 )
...
* Compress block candidates in validator-session
* Compress blocks in full-node (disabled for now)
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 14:52:46 +03:00
EmelyanenkoK
9452c367e4
LS queries to nonfinal blocks ( #941 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 14:51:06 +03:00
SpyCheese
3190c67f18
Simplify getCapabilities in fullnode
2024-03-26 11:42:30 +03:00
SpyCheese
2ee7cbc106
Merge branch 'testnet' into block-generation
...
# Conflicts:
# tonlib/tonlib/TonlibClient.cpp
# validator-engine/validator-engine.hpp
# validator/validator-options.hpp
# validator/validator.h
2024-03-25 18:40:47 +03:00
Marat
0feaaf591c
Mode 644 for db_stats.txt ( #938 )
2024-03-20 15:57:20 +03:00
Marat
7a6bfa7e7a
Save rocksdb statistics to file every minute ( #932 )
...
* Save rocksdb statistics to file every minute
* Add flag to disable collecting rocksdb statistics
2024-03-20 14:21:40 +03:00
EmelyanenkoK
0a82a19313
Don't serialize expired persistent states ( #935 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-19 15:43:03 +03:00
EmelyanenkoK
f1592641de
Tonlib improvement fixes ( #934 )
...
* 3.6. Fix directory traversal in KeyValueDir
* 3.9. Fix buffer_to_hex reversing nibbles
* 3.5. Fix error handling at blocks.getBlockHeader
* 3.11. Fix query.forget
* 3.12. Fix error handling in RemoteRunSmcMethod
* 4.1. Delete unused files
* 3.10. Use named constants instead hardcoded constants
* 3.4. Fix response block header verification
* 3.1. Check proof of blocks.getShards response
* fix td::buffer_to_hex + test
* 3.2. Add proof check for listBlockTransactions response in RunEmulator actor
* 3.8. Add proof checking for getLibraries method
* fix regression tests
* 3.3 Add proof checking for lookupBlock method
* Add publishers to proof of getLibrariesWithProof response (#25 )
* fix missing return, fix requesting mc block
* Fix requesting lookupBlock with client mc blk == mc ref block
* Fix duplicating lib data in proof and data, add mode 2 for not including the data
* Migration of LastBlockStorage with fixed td::buffer_to_hex
---------
Co-authored-by: ms <dungeon666master@protonmail.com>
Co-authored-by: Marat <98183742+dungeon-master-666@users.noreply.github.com>
2024-03-19 15:31:29 +03:00
Marat
69de1cb621
Fix linker error: undefined reference to LiteServerCacheImpl::MAX_CACHE_SIZE ( #930 )
...
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2024-03-19 15:24:15 +03:00
EmelyanenkoK
fc69377f9c
Fix running VM in liteserver and tonlib ( #933 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-19 15:23:34 +03:00
SpyCheese
e216651112
Merge branch 'testnet' into block-generation
...
# Conflicts:
# crypto/block/mc-config.cpp
# crypto/block/mc-config.h
2024-03-11 18:08:08 +03:00
EmelyanenkoK
9d05696452
Add infrastructure for precompiled smartcontracts ( #927 )
...
* Utils for writing precompiled contracts
* Precompiled contracts in config, override gas_usage for them
* Add base class for precompiled contracts
* Improve utils for precompiled smc
* Implement GETPRECOMPILEDGAS
* Enable precompiles by flag
* Process null data in PrecompiledSmartContract
* Fix ton_block wasm build
* Fix vm::util::store_(u)long
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-05 16:54:49 +03:00
SpyCheese
6c680dbc4e
Cleanup code in validator-group.cpp (after merge)
2024-02-22 15:00:41 +03:00
SpyCheese
0fb781b4c3
Improve queue cleanup (after merge)
2024-02-22 14:55:11 +03:00
SpyCheese
28699654fb
New private block overlays
2024-02-21 18:38:43 +03:00
EmelyanenkoK
310dd6dec1
Fix fetching mc config for runSmcMethod, fix caching in LS ( #915 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-21 16:13:55 +03:00
EmelyanenkoK
c7302bc4a3
Fix checking ext message broadcasts ( #912 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-19 19:01:50 +03:00
SpyCheese
e575d27302
Remove unused priority_broadcast_receivers
2024-02-19 14:21:15 +03:00
SpyCheese
747b24aa18
Fix QueueSizeCounter and ValidatorGroup after merge
2024-02-19 13:10:47 +03:00
SpyCheese
a2eb3f3631
Merge branch 'testnet' into block-generation
2024-02-16 16:38:47 +03:00
EmelyanenkoK
af71dae31b
Ls run method ( #906 )
...
* Improve LS runSmcMethod
* Full c7 and libraries
* Don't request c7 (mode 8) in lite-client
* Prioritize remote result in lite-client runmethod (but not runmethodfull)
* Return simplified c7 from runSmgMethod, add flag to return full
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-16 16:30:43 +03:00
EmelyanenkoK
eb4831d7d6
Add --archive-preload-period ( #904 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-15 12:03:57 +03:00
EmelyanenkoK
4d39772e40
Drop only accepted duplicate ext messages, don't cache errors ( #902 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-12 10:42:02 +03:00
EmelyanenkoK
f344aa46c3
Drop duplicate ext msg broadcasts ( #894 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-09 15:28:23 +03:00
EmelyanenkoK
79c48ebbba
Add cache for some LS requests ( #893 )
...
* Cache runSmcMethod queries to LS
* Drop duplicate sendMessage
* Drop sendMessage cache once a minute
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-07 15:45:51 +03:00
EmelyanenkoK
12c1b1a2e6
Limit file descriptors num by adding archive slice lru ( #892 )
...
* --max-archive-fd option limits open files in archive manager
* Don't close the latest archives + bugfix
* Delete temp packages early
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-07 14:56:37 +03:00
EmelyanenkoK
e723213d5c
Log number of LS queries by type ( #891 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-06 16:52:12 +03:00
SpyCheese
c38b2928ec
Fix typo in archive-slice.cpp ( #850 ) ( #879 )
2024-02-02 17:02:38 +03:00
EmelyanenkoK
59927ba534
Improve block broadcasts processing; add special overlay for blocks for validators ( #885 )
...
* Improve block broadcast processing
* ValidatorManagerImpl::written_handle
* Retry sending broadcasts in ValidatorGroup
* Fix setting channel_ready in AdnlPeerPair
* Add special overlay for validators for block broadcasting (#842 )
* Private overlay for broadcasting blocks
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
(cherry picked from commit a52045bd91
)
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-01 20:20:45 +03:00
SpyCheese
f4fd3ff3be
Merge branch 'testnet' into block-generation
2024-02-01 19:29:25 +03:00
EmelyanenkoK
64b04e46d7
Cheap fee calculations ( #878 )
...
* TVM v6
* New tuple with unpacked config parameters in c7
* New instructions for calculating fees
* Change unpacked_config_tuple, fix typo
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-26 15:43:53 +03:00
EmelyanenkoK
2e231ec2ff
Count gas usage for ordinar transactions on special accounts in separate counter ( #872 )
...
* Improve checking total gas usage in collator and validator
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-22 21:56:11 +03:00
EmelyanenkoK
d91643face
Fix getting shard client block id ( #870 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-22 18:33:26 +03:00
EmelyanenkoK
42d4c051ef
Disallow recursive library cells ( #868 )
...
* Disallow recursive library cells
* Stop emulation of external messages on accept
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-22 12:34:49 +03:00
EmelyanenkoK
128a85bee5
Use Config 8 to activate new gas limit behavior instead of new GasLimitsPrices constructor ( #867 )
...
* Remove gas_prices_v3, enable new gas limits by GlobalVersion = 5
* Change final date for higher gas limit
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-21 12:59:59 +03:00
EmelyanenkoK
b1f2160510
Fix setting gas limits in transaction.cpp ( #864 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-17 12:01:34 +03:00
SpyCheese
a68b5cbe62
Improve validator session stats ( #861 )
2024-01-16 14:24:46 +03:00
EmelyanenkoK
4303e49c93
Postpone addition of overlay for block broadcasting ( #842 )
...
This reverts commit a52045bd91
.
2024-01-16 11:29:03 +03:00
SpyCheese
388c8a6d86
Increase gas limit for a specific wallet (enabled by config) ( #859 )
2024-01-15 23:43:11 +03:00
EmelyanenkoK
ff40c1f2a0
Do not count gas on special accounts in block gas limits (enabled by config) ( #856 )
...
* Set higher gas limit for special accounts, don't add gas from special accounts to block total
* Make removing special accounts from block gas limits enabled by config
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-01-12 12:34:28 +03:00
Andrey Kravchenko
bc7ea2af2d
Fix pass the selected neighbor to the download proof ( #854 )
...
* Fix pass the selected neighbor to the download proof.
* Fix GetNextKeyBlocks as well
Previously, the neighbor was choosed, but it was not passed to the DownloadProof class, as a result, in got_download_token we always get a random one from overlay, but after failure, bad statistics are recorded for the previously selected neighbor, which did not participate in this operation.
2024-01-10 16:27:06 +03:00
EmelyanenkoK
a52045bd91
Add special overlay for validators for block broadcasting ( #842 )
...
* Private overlay for broadcasting blocks
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-28 21:54:55 +03:00
EmelyanenkoK
6c615a105a
Fix generating block header proof ( #841 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-28 17:40:54 +03:00
EmelyanenkoK
b3be4283ff
Better error messages from LS for missing blocks ( #837 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-25 09:30:51 +03:00
EmelyanenkoK
83efcebad0
Improve CellDb migration ( #835 )
...
* Fix deserializing cells
* Use proxy actor
* Add delays
* Print stats every minute
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-19 10:39:35 +03:00
EmelyanenkoK
ace934ff35
Adjust allowed time lag for last_liteserver_state + more verbose logs ( #836 )
...
* 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>
2023-12-19 10:39:25 +03:00
EmelyanenkoK
1fc4a0faed
Move low blockrate lt_limits to appropriate place ( #828 )
...
* Fix setting lt_delta limits
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-13 21:33:54 +03:00
EmelyanenkoK
7a457ca278
Fix linking error ( #827 )
...
* Fix linking error
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-13 15:12:58 +03:00
EmelyanenkoK
5e6b67ae96
Improve handling outbound message queues ( #825 )
...
* 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>
2023-12-13 12:57:34 +03:00
EmelyanenkoK
9b6d699c21
Cache recent block states and adjust timeouts ( #823 )
...
* 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>
2023-12-08 14:20:17 +03:00
EmelyanenkoK
7fcf267717
Improve large OutMsgQueue clearance ( #822 )
...
* Improve Collator::opt_msg_queue_cleanup, increase collator timeout
* Disable importing ext msgs if queue is too big
* Extend timeout in collator if previous block is too old
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-06 19:34:01 +03:00
EmelyanenkoK
7262a66d21
Don't allow deploying a contract with public libs ( #812 )
...
* Check account size limits in unpack_msg_state
* Don't allow deploying a contract with public libs
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-11-23 18:17:44 +03:00
SpyCheese
31263fb475
Limit max number of public libraries on contracts ( #808 )
2023-11-22 10:27:39 +03:00
SpyCheese
5847897b37
Various changes in TVM, github builds and tests ( #793 )
...
* Bugfixes in TVM and node
* Upgrade to C++17
* Improve GitHub builds
* Fix existing tests and partially integrate them into builds
---------
Co-authored-by: neodiX42 <namlem@gmail.com>
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2023-11-03 14:43:34 +03:00
SpyCheese
06a6ef2fa9
Merge branch 'testnet' into block-generation
2023-10-16 11:23:04 +03:00
SpyCheese
1eef6ed55e
Bugfix in check_neighbor_outbound_message
2023-10-16 11:22:41 +03:00
SpyCheese
98fe1f886d
Remove excessive logs in collator
2023-08-31 11:57:02 +03:00
SpyCheese
1e3a12259b
Optimize masterchain collation
...
Use only shard blocks with ready msg queues
2023-08-30 20:14:19 +03:00
SpyCheese
47c60d8bf0
Bugfix in OutMsgQueueImporter
2023-08-21 14:33:58 +03:00
SpyCheese
7155bf5eca
Fix processing message queue in collator and validator
2023-08-13 20:37:59 +03:00
SpyCheese
6e51453056
Fix parsing dict of public libraries ( #762 )
2023-08-07 19:48:33 +03:00
SpyCheese
9e02853cbb
Improve importing msg queues
2023-08-03 12:06:41 +03:00
SpyCheese
e814973749
Limit query size in importing out queues
2023-07-31 22:56:25 +03:00
SpyCheese
5c02459fd8
Optimize importing out queues
2023-07-31 18:12:09 +03:00
SpyCheese
44ba040934
Don't store candidates on collator nodes
2023-07-30 18:54:25 +03:00
SpyCheese
503e10c05a
Fix choose_neighbour in full-node-shard
2023-07-26 17:28:14 +03:00
SpyCheese
783c75fc85
Decrease verbosity in out-msg-queue-proof.cpp
2023-07-26 16:29:37 +03:00
SpyCheese
da137fecf5
Extra shard overlay stats
2023-07-26 13:05:16 +03:00
SpyCheese
8c4bc5b3f1
Fix sending msg queue queries
2023-07-26 12:21:19 +03:00
SpyCheese
f1e62d0075
Move msg queue limits to config
2023-07-24 15:29:55 +03:00
SpyCheese
66b98b6d6a
Merge branch 'testnet' into block-generation
2023-07-21 19:29:57 +03:00
SpyCheese
32b3fe748a
Fix validating inbound msg queues
2023-07-21 19:29:29 +03:00
SpyCheese
869c6fe675
Rework limiting imported msg queues
2023-07-20 17:48:52 +03:00
SpyCheese
e6b77ef71d
Remove excessive check in check_neighbor_outbound_message
2023-07-19 14:53:10 +03:00
SpyCheese
aa4f5769ca
More logs for collators and validators
2023-07-18 19:44:41 +03:00
SpyCheese
3265e397f2
Rename actual_min_split and soft_mis_split to avoid confusion
2023-07-17 19:14:39 +03:00
SpyCheese
b8f347231f
Fix shard overlays
2023-07-17 18:45:32 +03:00
SpyCheese
96afdc12ac
Increase INACTIVE_SHARD_TTL
...
Node in overlay should be available until peer is expired
2023-07-14 17:16:49 +03:00
neodiX42
50d2361394
On MacOS, writing more than 0x7fffffff bytes will fail with errno 22 ( #737 )
2023-07-14 16:27:59 +03:00