* Parallel write in celldb
* Add TD_PERF_COUNTER to gc_cell and store_cell
* More error handling
* Tests for prepare_commit_async
* Install g++11 for ubuntu 20.04
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* getactorstats query for validator-engine-console
* celldb in-memory mode (--celldb-in-memory option)
* rldp2: bugfix - do not estimate speed while nothing is sent
* add simple ed25519 benchmark
* fix compilation errors of different platforms and move to c++20
* fix some warnings
* turn on TON_USE_ABSEIL for glibc 2.27 nix build
---------
Co-authored-by: birydrad <>
This commit contains some parts of https://github.com/ton-blockchain/ton/tree/accelerator
This is auxiliary code that mostly does not change node behavior.
1) Semiprivate overlays and other improvements in overlays code
2) Rename actual_min_split -> monitor_min_split, fix building shard overlays
3) Loading block candidates by block id from DB, fix accept_block after validator restart
4) Cells: ProofStorageStat and changes in CellUsageTree
5) Remove some unused code, other minor changes
* add github action for macOS 14 (arm64, M1)
* add github action (portable) for macOS 14 (arm64, M1)
* rename macOS arm64 output artifact
* Update libsodium on windows
* Compile libsodium
* Update build-windows.bat
* use upgraded libsodium 1.0.20; use compiled static libsodium for Windows instead of precompiled;
* revert libsodium 1.0.20; use compiled static libsodium for Windows instead of precompiled;
* use upgraded libsodium 1.0.20; use compiled static libsodium for Windows instead of precompiled;
* fix libsodium version 1.0.19; use compiled static libsodium for Windows instead of precompiled;
* try 1.0.20 libsodium precompiled on github
* try 1.0.18 libsodium precompiled on github
* try windows build on win server 2019
* and use PlatformToolset=v142
* use cmake -G "Visual Studio 16 2019"
* fix path to msvc 2019 on github
* separate github windows build on win server 2019 and build on win server 2022
* Update assembly/native/build-windows-2019.bat
add retry mechanism
Co-authored-by: Dr. Awesome Doge <doge@ton.org>
* add test-emulator; disable test groovy pipeline
* trigger all gh actions
* fix win build
* call test-emulator
* remove usage of rocksdb in fift-lib
* put back some code for test-db
* fix test-emulator
* remove usage of db-path parameter in fift
* some func adjustments
* fix checkout of openssl in fift-func-wasm-build-ubuntu.sh
* typo
* improve wasm build script for quicker turn around
* remove sENVIRONMENT=web,worker for funcfiftlib. will be added later.
* remove sENVIRONMENT=web,worker for funcfiftlib. will be added later.
* remove sENVIRONMENT=web,worker for funcfiftlib. will be added later.
* minor adjustments
* remove -d option in fift; optimize fift-lib usage
* reduce tondb usage
---------
Co-authored-by: neodiX <neodix42@ton.org>
Co-authored-by: Dr. Awesome Doge <doge@ton.org>
Co-authored-by: ms <dungeon666master@protonmail.com>
* Set collator options from validator console
* Fix compilation error in manager-disk
* Defer all messages if out msg queue is too big
* Fix checking queue size in collator
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Deferred messages and msg metadata
* Store out msg queue size in state
* Add checks for queue processing
1. Collator must process at least one message from AccountDispatchQueue (unless block is full)
2. The first message from a transaction is not counted, it cannot be deferred (unless AccountDispatchQueue is not empty)
* Return msg metadata from LS in listBlockTransactions[Ext]
* Enable new features by capabilities
* Changes in deferred messages
* Process deferred messages via new_msgs in collator
* Rework setting deferred_lt, bring back check_message_processing_order, check order of deferred_lt in validator
* Use have_unprocessed_account_dispatch_queue_ in collator
* Fix setting transaction lt for deferred messages
* Fix lite-client compilation error
* Changes in process_dispatch_queue, rename deferred_lt -> emitted_lt
* Fix compilation error
* Use uint64 for msg queue size
* Add liteServer.getBlockOutMsgQueueSize
* Fix compilation error
* Fix typos in comments
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* add github action for macOS 14 (arm64, M1)
* add github action (portable) for macOS 14 (arm64, M1)
* rename macOS arm64 output artifact
* Colon cannot be used as a path separator for FIFTPATH or -I argument in fift on Windows when absolute paths are used (e.g. C:\path\lib:C:\path\smartcont).
Suggestion to use @ as a new path separator on Windows.
---------
Co-authored-by: neodiX <neodix42@ton.org>
* 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>
* 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>
* fix macOS github actions
* fix android tonlib GH action;
* fixing wasm GH action
* strip binaries
* fix randomly failing ubuntu and wasm GH actions
* fix randomly failing ubuntu and wasm GH actions
* revert some changes
* adding more nix scripts and automated native build scripts;
debug static ton compilation
* minor fix
* do not use pkg_config if path specified
* move wasm script, run with sudo action script
* weird, fixing - cp: missing destination file operand after 'assembly/native/build-ubuntu-20.04-shared.sh'
* weird, fixing - cp: missing destination file operand after 'assembly/native/build-ubuntu-20.04-shared.sh'
* ok
* some adjustments for android and win builds
* some adjustments for android and win builds
* moving stripping inside the build script
* access rights handling; adding simple binaries' tests
* make lite-client-common, fift-lib and smc-envelope deliberately static;
add -a (artifacts) flag to build scripts;
* minor wasm build fix;
create separate tonlib android build script;
remove outdated __has_trivial_copy(T)
* add windows build - WIP
* adjust android build;
improve win build;
* adjust sodium paths for android build; use proper compiler for windows build;
* add github windows build auxiliary file
* adjust wasm build
* add portable ubuntu build
* exclude some unstable tests for some time
* compile portable binaries on ubuntu-20.04
* exclude some unstable tests
* include static gsl
* restart builds
* restart builds
* restart builds
* remove libreadline, gsl and blas dependencies in linux build
* add macos build script
* install missing autoconf in macos builds
* enable all tests and see what fails
* enable win tests and restart others
* enable win tests and fix test-smartcont.cpp
* enable win tests
* use clang-16 on mac builds, add blockchain-explorer for ubuntu builds, add portable macos build
* move sudo part outside a build scripts
* move sudo part outside a build scripts
* run llvm install with sudo
* remove libgnutls28-dev before ubuntu static compilation, include blockchain-explorer into artifacts;
remove warning: definition of implicit copy constructor for 'Stat' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]
* rework wrong decision, put back system gnutls, but compile libmicrohttpd with --disable-https
* add jenkins pipeline sceleton
* WIP jenkins pipeline sceleton
* WIP jenkins pipeline changes
* WIP jenkins pipeline: add stage timout, zip and group artifacts
* WIP jenkins pipeline: macos portable build fix
* WIP jenkins pipeline: wording
* WIP jenkins pipeline: add android tonlib
* WIP jenkins pipeline: add was binaries
* WIP jenkins pipeline: add TOTAL_MEMORY 1.5gb to funcfiftlib wasm linking
* WIP jenkins pipeline: add nix build on linux aarch64
* WIP jenkins pipeline: funcfiftlib compilation fails that 16mb mem is not enough, increase to 32mb
* WIP jenkins pipeline: enable test in nix build
* WIP jenkins pipeline: add linux x86-64 nix build
* WIP jenkins pipeline: include libs in nix build
* WIP jenkins pipeline: include libs in nix build
* WIP jenkins pipeline: include mac nix build
* WIP jenkins pipeline: include mac nix build
* WIP jenkins pipeline: include mac nix build
* WIP jenkins pipeline: include mac nix build
* WIP jenkins pipeline: include mac nix build
* WIP jenkins pipeline: include mac nix build
* WIP jenkins pipeline: nix linux arm64 with openssl 1.1 for now
* WIP jenkins pipeline: working ubuntu arm64 libtonjson
* WIP jenkins pipeline: working ubuntu arm64 libtonjson + minor fix
* WIP jenkins pipeline: working ubuntu arm64 libtonjson + minor fix 2
* WIP jenkins pipeline: merry christmas
* WIP jenkins pipeline: merry christmas 2
* WIP jenkins pipeline: remove native static builds
* WIP jenkins pipeline: enable more tests
* WIP jenkins pipeline: zip artifacts better
* WIP jenkins pipeline: get rid of path in the final zip
* WIP jenkins pipeline: minor fix, include lib and smartcont folders
* WIP jenkins pipeline: minor fix, include lib and smartcont folders into nix artifacts also
* WIP jenkins pipeline: minor fix
* WIP jenkins pipeline: minor fix
* adjust github actions for new nix builds
* cleanup
* cleanup
* cleanup
* cleanup
* rename libtonlibjson.so.0.5 to libtonlibjson.so
* Add TON build instructions to README.md
* simplify
* fix test-tonlib-offline
* set timeout per test of 300 sec
* set timeout per test of 600 sec for non nix builds
* increase test timeout to 900 sec; minor changes
* use MS VS 2022 for win TON compilation; update README.md
* use MS VS 2022 for win TON compilation; update README.md
* change path to MSVC in github workflow
* change path to MSVC in groovy pipeline
* compile ton on win, with msvc 2022 community and enterprise versions
* minor fixes
* improve network tests
* remove TON compilation against macos-11 github runner
* add `choco feature enable -n allowEmptyChecksums` since pkg-config-lite-0.28-1 does not have a checksum
* abort win compilation if 3pp can't be downloaded
* increase test timeout to 30 min
* improving test-catchain