1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-15 04:32:21 +00:00
Commit graph

198 commits

Author SHA1 Message Date
SpyCheese
5ad7f8c246 Allow queries to collator from validators only 2023-01-17 21:02:47 +03:00
SpyCheese
225f71238b Option for collating masterchain on validators 2023-01-16 19:30:15 +03:00
SpyCheese
d324fa5820 Bugfix 2023-01-13 19:04:11 +03:00
SpyCheese
29851c38ef Various changes after merge 2023-01-12 17:32:59 +03:00
SpyCheese
1ccf25d6b7 Merge branch 'testnet' into block-generation 2023-01-11 16:10:57 +03:00
SpyCheese
13b9f460af
SuspendedAddressList config param (#585)
* SuspendedAddressList config param

* Change tag for cskip_suspended
2023-01-09 20:37:58 +03:00
SpyCheese
eff610f807
Disable liteServer.getState method (#573) 2022-12-27 20:11:22 +03:00
SpyCheese
d652f7d706 Merge branch 'testnet' into block-generation
# Conflicts:
#	adnl/adnl-query.cpp
#	crypto/block/block.tlb
#	crypto/block/mc-config.h
#	lite-client/lite-client.cpp
#	overlay/overlay-manager.h
#	overlay/overlay-peers.cpp
#	overlay/overlay.cpp
#	overlay/overlay.h
#	overlay/overlay.hpp
#	overlay/overlays.h
#	rldp-http-proxy/DNSResolver.cpp
#	rldp-http-proxy/rldp-http-proxy.cpp
#	tl/generate/scheme/ton_api.tl
#	tl/generate/scheme/ton_api.tlo
#	tl/generate/scheme/tonlib_api.tlo
#	ton/ton-types.h
#	tonlib/tonlib/ExtClient.cpp
#	tonlib/tonlib/ExtClient.h
#	tonlib/tonlib/ExtClientLazy.cpp
#	tonlib/tonlib/ExtClientOutbound.h
#	tonlib/tonlib/ExtClientRaw.h
#	tonlib/tonlib/TonlibClient.cpp
#	tonlib/tonlib/TonlibClient.h
#	tonlib/tonlib/tonlib-cli.cpp
#	validator/impl/collator.cpp
#	validator/impl/validate-query.cpp
#	validator/impl/validate-query.hpp
#	validator/manager.cpp
#	validator/state-serializer.cpp
#	validator/state-serializer.hpp
#	validator/validator-group.cpp
#	validator/validator-group.hpp
#	validator/validator.h
2022-12-22 23:37:35 +03:00
SpyCheese
15cdfb0462
Fix compilation error in manager-disk.cpp (#556) 2022-12-15 17:12:43 +03:00
EmelyanenkoK
1b106ef270
Use state with applied shards in liteserver (#553)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-12-13 17:46:54 +03:00
SpyCheese
ac50074ff6
Fix getting cell-db-reader in AsyncStateSerializer (#546) 2022-12-07 21:49:17 +03:00
SpyCheese
33a0d1e8bc
Allow starting node with a newer hardfork in config (#538) 2022-11-30 12:12:19 +03:00
EmelyanenkoK
d8dd75ec83
Limit account storage size (#530)
* Limit size of an account

* Bugfix

* Don't check size for special accounts

* Improve timeouts in collator and validator

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-11-30 08:40:19 +03:00
SpyCheese
a4a3ea2b77
liteServer.getAccountStatePrunned method (#534) 2022-11-30 08:39:32 +03:00
SpyCheese
c7f06abfbc
Fix finding blocks by lt and ut in archive manager (#536) 2022-11-30 08:38:46 +03:00
SpyCheese
4714726f4a Cache result of run_collate_query in ValidatorGroup 2022-11-25 09:49:04 +03:00
SpyCheese
d4339b839c Add "delshard", "delcollator" to validator-engine-console 2022-10-17 13:24:59 +03:00
SpyCheese
1d42c38122
Move some constants to global config (#484) 2022-10-10 17:13:21 +03:00
SpyCheese
580884033b
Check limits in validate-query, check timeout in collator (#469) 2022-10-06 21:31:41 +03:00
SpyCheese
636348ffc2 Merge branch 'testnet' into block-generation
# Conflicts:
#	overlay/overlay-fec-broadcast.cpp
#	overlay/overlay.hpp
#	tl/generate/scheme/ton_api.tl
#	tl/generate/scheme/ton_api.tlo
#	validator-engine-console/validator-engine-console-query.cpp
#	validator-engine-console/validator-engine-console-query.h
#	validator-engine-console/validator-engine-console.cpp
#	validator-engine/validator-engine.cpp
#	validator-engine/validator-engine.hpp
#	validator/downloaders/wait-block-state.hpp
#	validator/impl/validate-query.cpp
#	validator/validator.h
2022-10-06 13:46:25 +03:00
SpyCheese
81c0e920c5 Simplify selecting shards for monitor 2022-10-06 13:41:13 +03:00
SpyCheese
9fb986f6f5 Disable downloading archives during sync 2022-10-06 13:41:02 +03:00
SpyCheese
699a56b951 Send block broadcasts directly to collators 2022-10-06 13:40:53 +03:00
SpyCheese
b0c2c6c525 Don't send proof of masterchain message queue 2022-09-23 17:23:00 +03:00
SpyCheese
bb5bc6178c Change recursion to loop in CellSlice 2022-09-21 11:04:40 +03:00
SpyCheese
2512f0287b
Tonlib method getShardBlockProof (#465)
* Tonlib method getShardBlockProof

* Clarify limit of result.size() in getShardBlockProof
2022-09-20 10:49:28 +03:00
SpyCheese
62a412ac13 Add some required collated data 2022-09-15 20:14:34 +03:00
SpyCheese
86250706b8 Change format of specifying shards to monitor 2022-09-13 16:02:55 +03:00
EmelyanenkoK
8329a58994
Add GetPerfTimerStats (#451)
* 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>
2022-09-10 12:57:13 +03:00
SpyCheese
c2e7d0b0de Bugfixes in manager.cpp 2022-08-23 17:31:37 +03:00
SpyCheese
be824e9649 Check is_applied in liteserver 2022-08-22 10:25:28 +03:00
SpyCheese
1efd425403 Fix compatibility 2022-08-19 18:24:18 +03:00
SpyCheese
ea7a5776fe Download persistent states when syncing new shards 2022-08-19 18:24:18 +03:00
SpyCheese
be2169e523 Reload validator options when needed 2022-08-19 18:24:17 +03:00
SpyCheese
011e97f53c Flag "full collated data" in mc config; fix accept-block 2022-08-19 18:24:17 +03:00
SpyCheese
81d32ba5d6 Out msg queue proof: send only the required part 2022-08-19 18:24:17 +03:00
SpyCheese
597fd8443d Collator nodes preload msg queues 2022-08-19 18:24:17 +03:00
SpyCheese
910398da92 Improved neighbor choosing in full-node-shard 2022-08-19 18:24:17 +03:00
SpyCheese
662435462e Validators temporary join shard overlays 2022-08-19 18:24:17 +03:00
SpyCheese
5ba2a55716 Add --lite-validator flag, rework is_validator checks 2022-08-19 18:24:17 +03:00
SpyCheese
7241522de2 Remove obsolete interface for importing blocks 2022-08-19 18:24:16 +03:00
SpyCheese
a792565afa Fix MSVC compilation error 2022-08-19 18:24:16 +03:00
SpyCheese
5be10b1e6b Add retries in validator group + bugfix 2022-08-19 18:24:15 +03:00
SpyCheese
212c07f2f0 Change update_shard_configuration 2022-08-19 18:24:15 +03:00
SpyCheese
ac7a33497b Validate msg queue proof 2022-08-19 18:24:15 +03:00
SpyCheese
e43e235143 Get neighbors' msg queues from other nodes 2022-08-19 18:24:15 +03:00
SpyCheese
7ac60bea7d New shard overlays 2022-08-19 18:24:15 +03:00
SpyCheese
53270a00e6 Add CollatorNode and make validators request blocks from it 2022-08-19 18:24:15 +03:00
SpyCheese
996c23e506 Shardchain validation without monitoring shardchains 2022-08-19 18:24:14 +03:00
SpyCheese
bdfca7afef Remove unused code 2022-08-19 18:24:14 +03:00
SpyCheese
415ace3da9 Exporting and importing candidates using validator-engine-console; lite mode for validator group 2022-08-19 18:24:14 +03:00
SpyCheese
625516c568 Lite-mode for validate-query, more collated data in collator 2022-08-19 18:24:14 +03:00
SpyCheese
849d995346 Add getvalidatorsessions query to validator-engine-console 2022-08-19 18:24:14 +03:00
SpyCheese
417c3bb640 More detailed validator session stats 2022-08-18 21:52:08 +03:00
SpyCheese
b3e6819f3f Log validator session stats to file 2022-08-18 21:51:57 +03:00
SpyCheese
30ba32bef9 Fix validator session options hash; fix proto_version 2022-08-09 13:18:06 +03:00
Tsenilov Oleg
e30049930a
Enhance overlay stats output (#386)
* Expand overlay stats

* Add scope and peer broadcast errors to stats

* Add json output format
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2022-06-07 16:24:26 +03:00
neodiX42
65e3177def
Fix windows validator-engine.exe runtime access violation error (#387)
* Fix runtime access violation error on Windows
2022-06-03 16:01:55 +03:00
EmelyanenkoK
845cbca1e5
Make asynchronous celldb interface (#388)
* Asynchronous load_cell in celldb

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-06-01 10:03:50 +03:00
EmelyanenkoK
ca00f0ed91
Extended error notes for unacceptable external messages (#383)
* patch sendMessage

* Verbose error message for "sendMessage" LS query

* More verbose errors in external-message.cpp

Co-authored-by: dungeon-master-666 <dungeon666master@protonmail.com>
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-05-24 21:21:58 +03:00
EmelyanenkoK
89b8717cf8
Persistent optimization (#382)
* State serialization consuming less RAM

* Move large-boc-serializer to crypto/vm, refactor code

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-05-24 21:17:11 +03:00
SpyCheese
3b4166be69 Add logs in AsyncStateSerializer 2022-05-16 12:29:39 +03:00
EmelyanenkoK
c07394aab5
Optimization of persistent state serialization (#364)
* 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>
2022-05-15 17:51:24 +03:00
EmelyanenkoK
1e0b587023
Allow untrusted fecs after check (#356)
* Allow untrusted fecs after check

* FEC: save and resend incoming parts

Co-authored-by: OmicronTau <87443739+OmicronTau@users.noreply.github.com>
Co-authored-by: OmicronTau <omicron@ton.org>
2022-05-11 21:12:04 +03:00
EmelyanenkoK
0fbfc91965
Merge pull request #342 from SpyCheese/fix-node-init-timeout
Increase timeout for downloading persistent states and add logs
2022-05-06 11:40:51 +03:00
EmelyanenkoK
76c2764e7f Sparse state serialization over time by randomized delay 2022-05-06 10:48:35 +03:00
Starlight Duck
3fee04e20a Support libraries in LS and request+caching in TLC 2022-05-06 10:48:05 +03:00
OmicronTau
59fcd7cbd5 Deactivate accounts upon destruction in block 2022-05-06 10:44:44 +03:00
OmicronTau
1b480e39ba Fix infinity max_gas_limit for get methods 2022-05-06 10:44:26 +03:00
OmicronTau
cb31a20206 Add methods to sign and import certificates 2022-05-06 10:42:49 +03:00
OmicronTau
3384d204d2 Add checks for external messages 2022-05-06 10:40:12 +03:00
OmicronTau
69d0472510 Add mempool messages cap 2022-05-06 10:33:00 +03:00
OmicronTau
678a8a6a13 Add overlay certificate checks 2022-05-06 10:32:55 +03:00
SpyCheese
21c2727dcf Increase timeout for downloading astate and add logs 2022-05-03 17:19:31 +03:00
tolya-yanot
6faeca69a2 Fix split-depth and collator 2021-11-07 23:58:36 +03:00
OmicronTau
26ce7a7b05 Add logging of rotation params 2021-08-19 13:16:20 +03:00
Kirill A
013038c2ff Add proper declarations for MHD result >=v0.9.71 2021-02-10 23:21:29 +03:00
AleksejMelman
b22611a123 Create ccpp-linux.yaml
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.
2021-02-09 11:15:50 +03:00
EmelyanenkoK
f60694e67f Schedule transition to Feb 1 2021-01-26 21:50:54 +03:00
EmelyanenkoK
fe3bfd1053 Reassign validation groups to new ids upon proto transition 2021-01-22 11:54:46 +03:00
EmelyanenkoK
d13691a933 Add versioned validatorSession.config 2021-01-20 16:11:40 +03:00
ton
dab7ee3f97 updated pow-miner + small bugfix 2020-07-10 13:46:16 +03:00
ton
f064b1047a pow-testgiver support 2020-07-06 17:07:20 +03:00
ton
dbde9c1c40 minor bugfix 2020-06-03 21:47:47 +04:00
ton
4e2624459b integrating the existing state of TON Storage / TON Payments / CPS Fift development branches 2020-05-27 22:10:46 +04:00
ton
eecf05ca59 bugfixes + tonlib update 2020-04-30 15:04:47 +04:00
ton
9f008b129f updated submodules, bugfixes
- added new fift/func code for validator complaint creation
- bugfixes in validator
- updates in tonlib
- new versions of rocksdb/abseil
- hardfork support
2020-04-27 16:01:46 +04:00
ton
16a4566091 validator bugfix + old key blocks download improvement 2020-04-11 18:08:57 +04:00
ton
be9c34c62d bugfixes 2020-04-10 23:06:01 +04:00
ton
8be3fc99ed bugfixes + decreased archive slice size 2020-04-08 23:49:28 +04:00
ton
148a5e0179 small db changes 2020-04-07 19:35:04 +04:00
ton
cea5281ad3 increased validator version 2020-04-07 01:27:34 +04:00
ton
cf97f48cd7 error handling in lite client, speed up message dequeue in blocks 2020-04-07 00:08:53 +04:00
ton
dfc040cb00 validator: multiple bugfixes 2020-04-06 15:22:14 +04:00
ton
7efb345e3d remove debug checks to improve performance under load on weak validators 2020-04-05 13:56:24 +04:00
ton
b73b057e08 too big catchain workaround 2020-04-04 17:27:19 +04:00
ton
d17186896b fixed block scheme bug 2020-04-03 23:21:15 +04:00
ton
c300b4ff30 bugfix in validator 2020-04-03 18:47:22 +04:00
ton
54b40df4aa bugfix in collator 2020-04-02 22:13:18 +04:00
ton
0e4277313c fixed crash in validator. Updated elector/config smartcontracts 2020-04-02 17:08:42 +04:00