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
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
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
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
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
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
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
6e51453056
Fix parsing dict of public libraries ( #762 )
2023-08-07 19:48:33 +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
EmelyanenkoK
08cfc4c6ee
Initialize random seed properly ( #742 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-07-14 14:50:03 +03:00
EmelyanenkoK
6b941dcceb
Fix returning config from LS, add extra c7 elements in getmethods ( #713 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-05-27 21:22:31 +03:00