1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-13 19:52:18 +00:00
Commit graph

155 commits

Author SHA1 Message Date
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
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
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
9452c367e4
LS queries to nonfinal blocks (#941)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 14:51:06 +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
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
0fb781b4c3 Improve queue cleanup (after merge) 2024-02-22 14:55:11 +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
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
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
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
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
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
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
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
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
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
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