SpyCheese
2f8e80ef56
Do not retranslate external messages with wrong initstate ( #778 )
2023-10-20 10:03:44 +03:00
SpyCheese
866fbf936b
Explicitly handle special cells in action list ( #777 )
2023-10-20 10:03:32 +03:00
SpyCheese
469fb08c49
New tag for encrypted messages
2023-06-28 13:58:06 +03:00
EmelyanenkoK
ef64b92f08
Add fee burning and blackhole address ( #703 )
...
* Fix tlbc crash
* Burn specified fraction of fees
* Add "blackhole" for burning TONs
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-05-18 11:26:02 +03:00
SpyCheese
dad980ed09
Fix STSLICECONST, bump Asm.fif version to 0.4.4 ( #700 )
2023-05-15 16:35:23 +03:00
EmelyanenkoK
583178ccb1
FunC: enable asserts and fix try/catch stack corruption ( #699 )
...
* FunC: enable asserts in Release
* FunC: Fix analyzing infinite loops
* FunC: Allow catch with one tensor argument
* FunC: Fix try/catch stack corruption
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-05-15 15:31:42 +03:00
SpyCheese
5abfe2337e
Catchain improvements ( #698 )
...
* Fix "sgn" in fift; fix marking infinite loops as noterurn in func
* TON-P1-1: Remove unused catchain queries
* TON-P1-15: Avoid synchronization with self
* TON-P1-3, TON-P1-17: Disallow more than one candidate per src per round (to prevent flood), add checks to process_broadcast
* TON-P1-10: Fix fast/slow attempts
* TON-P1-14: Add named constants
* TON-P1-18, TON-P1-19: Alloc temporary memory in the same way as persistent memory
* TON-P1-20: Add comment to choose_blocks_to_approve
* TON-P1-16: Avoid creating two catchain blocks on need_new_block
* TON-P1-8: Add some validation to validator-engine parameters
* TON-P1-6: Don't allow sending the same block many times
Many requests for the same block are not unusual (however, there's no need to answer them all)
* TON-P1-2: Enable prohibiting dependencies from blamed nodes (2.7.5 in CatChain doc), fix processing blame proofs
* Best practices
bp-6: Fix incorrect warning
bp-7: Remove unused code
bp-8: Bring back PerfWarningTimer logging (only when no callback)
bp-9: Remove unnecessary condition
bp-11: Remove commented-out code
bp-13: Divide code in validator-session-state
Adherence to Specification: Fix typo
2023-05-10 12:57:57 +03:00
EmelyanenkoK
1696ebfa20
Account for unprocessed messages in estimate_block_size; check consensus_config limits in collator ( #692 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-05-04 14:45:42 +03:00
EmelyanenkoK
a78adf3062
Increase limit for t_Block.validate, simplify validating StateInit ( #691 )
...
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-05-03 14:18:18 +03:00
EmelyanenkoK
5606418234
FunC: Prohibit unifying tensors and "forall" vars ( #684 )
...
* FunC: Prohibit unifying tensors and "forall" vars
* Bump funC version to 0.4.4
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-04-27 10:23:04 +03:00
EmelyanenkoK
8b0d6a2665
Add WASM FunC autotests ( #673 )
...
* feat: func wasm autotests
* fixes necessary for func wasm autotests
---------
Co-authored-by: krigga <krigga7@gmail.com>
2023-04-19 21:29:41 +03:00
Ilyar
8d919a5db9
add missing VM opcode definition ( #670 )
2023-04-19 20:09:15 +03:00
EmelyanenkoK
fd4c512de5
Move JettonBridge config num for BNB, Polygon
2023-04-17 15:54:33 +03:00
EmelyanenkoK
6ddcac68ad
Add notes on mainnet version to config-code
2023-04-10 09:32:49 +03:00
EmelyanenkoK
e3af63e6c0
Fix PUSHSLICE for some unfortunate slice lengths
2023-04-04 18:26:02 +03:00
EmelyanenkoK
8eb167b76a
Fix FunC UB ( #656 )
...
* Fix UB in func
* Improve optimizing int consts and unused variables in FunC
* Bump funC version to 0.4.3
* Fix analyzing repeat loop
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-04-03 10:13:39 +03:00
krigga
f51eb2d747
Add debug enabled flag to transaction and TVM emulator ( #662 )
...
* Add debug enabled flag to transaction and TVM emulator
* Set debug_enabled false in Emulator constructor
2023-04-02 17:28:18 +03:00
SpyCheese
eabcb6a8e9
Better error handling in stack serialization ( #664 )
2023-04-02 17:27:31 +03:00
SpyCheese
5e0dadfff6
Rollback celldb optimization ( #658 )
2023-03-30 10:03:05 +03:00
SpyCheese
9be3701bc0
Don't delete accounts with extra currencies (temporary) ( #659 )
2023-03-30 10:02:15 +03:00
EmelyanenkoK
47311d6e0e
Improve tweaking for high throughput ( #610 )
...
* Option "--disable-ext-msg-broadcast"
* "Get shard out queue size" query
* Move disabling ext msg broadcasts from command-line arguments to config
* Fix compilation error
* Asynchronous store_cell and gc in celldb
* Make GC in celldb work evenly over time
* Increase timeouts for downloading blocks
* Reuse blocks from previous rounds in validator session
* Use Rldp2 in FullNode for downloading persistent states and archives
* Improve logs in download-archive-slice and download-state
* Decrease delay between serializing shards
* Make CellDbIn::load_cell synchronous to avoid interfering with store_cell
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-03-15 10:47:35 +03:00
EmelyanenkoK
9b3f9e4ac1
Add Licenses to funC stdlib
2023-03-14 21:29:33 +03:00
EmelyanenkoK
7da30e1e7f
Add PRNG with normal distribution to mathlib.fc ( #646 )
...
* Add random with normal distribution
* Fix hex arguments in mathlib testcases
2023-03-13 16:49:30 +03:00
SpyCheese
4d5ded5761
Asm.fif improvements ( #631 ) ( #645 )
...
* Asm.fif improvements (#631 )
Add missing opcodes, CUSTOMOP, disallow 256 PUSHPOW256, recursive PROGRAM, require-asm-fif-version
* Fix nested PROGRAM, add test
* Simplify require-asm-fif-version
---------
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2023-03-13 16:48:48 +03:00
EmelyanenkoK
fbb1e548f7
Fix msg_cell on stack for SmartContract::send_*_message ( #647 )
...
* Fix msg_cell on stack for SmartContract::send_*_message
* Fix src address in SmartContract::send_internal_message
2023-03-13 16:46:54 +03:00
EmelyanenkoK
865ebfce8d
Add namespaces to Fift ( #641 )
...
* Add fift-based disassembler
* Fift improvements: namespaces, hashmaps, flow controls
* Fift: add lib with better block structuring and more
* Minor changes in fift HashMap + tests (#643 )
* Minor changes in fift HashMap
* Add tests for extended fift
---------
Co-authored-by: OmicronTau <omicron@ton.org>
Co-authored-by: Tolya <1449561+tolya-yanot@users.noreply.github.com>
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-03-10 14:16:29 +03:00
Dan Volkov
4590ed381b
Make funcfiftlib compilation compatible with modern compilers ( #618 )
...
* wip: make funcfiftlib compilation compatible with modern compilers
* wip: add methods needed for another compiler
* fix: tdutils port config if emscripten
* feat: func source and realpath callback
* fix: invalid fift compilation exceptions
---------
Co-authored-by: krigga <krigga7@gmail.com>
2023-03-09 17:37:15 +03:00
Marat
078aabe50e
Add method listBlockTransactionsExt to liteserver ( #399 )
...
* Verify proof for method blocks.getTransactions
* check completeness of response
* fix start_lt
* fix mode & 128, check bTxes->ids_ out of bounds
* Improve gitactions; separate cpp-check (#346 )
* Use ninja build tool and compile blockchain-explorer
Ninja builds TON much faster;
* Use clang instead of gcc
* remove blockchain-explorer
since target not found on github action
* move ccpcheck to other gitaction
* run nativelib-java only against wallets branch for now
* rename gitaction
* Update windows2019x64-tonlib-java.yml
* Update windows2019x64-tonlib-java.yml
* Update macos-10.15-tonlib-java.yml
* Update windows2019x64-tonlib-java.yml
* Update windows2019x64-tonlib-java.yml
* rebase
* update tlo's
* Revert "Improve gitactions; separate cpp-check (#346 )"
This reverts commit bd1d96e6d391e48840d81cfcf10d2692848e504e.
* add checks, simplify ls response
* Revert workflows
* Add verifying proofs
* fix win build
---------
Co-authored-by: neodiX42 <namlem@gmail.com>
2023-03-07 19:49:25 +03:00
EmelyanenkoK
a00744730e
Merge branch 'testnet' of https://github.com/ton-blockchain/ton into testnet
2023-03-06 14:04:13 +03:00
EmelyanenkoK
04d4ae2dec
Add version printing to legacy tester
2023-03-06 14:03:29 +03:00
Behrang Norouzinia
16e5433981
Fix bug in docs for storing and loading coins ( #617 )
...
Coins are 120-bit integer, not 128-bit.
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2023-03-05 14:15:37 +03:00
EmelyanenkoK
d9eb0bbd3b
Add func mathlib ( #633 )
2023-03-04 19:17:39 +03:00
EmelyanenkoK
c2c9a93916
Bump funC version to 0.4.2
2023-03-03 10:33:22 +03:00
SpyCheese
308dcc9206
Fix CE ( #627 )
2023-02-28 12:45:49 +03:00
SpyCheese
706be23c83
Limit maximal Merkle depth ( #626 )
2023-02-28 12:06:57 +03:00
SpyCheese
0578cb4a42
Fix typos, UBs and warnings ( #625 )
2023-02-28 12:06:09 +03:00
neodiX42
5a47495d87
Add cross-platform Linux and macOS binaries (statically compiled with NixPkgs) + wasm artifacts ( #621 )
...
* fix build
* nix flake
* nix package
* static musl build env
* make all builds in static env
* GH Actions nightly and static workflows
* deb package
* cmake install {adnl-proxy,blockchain-explorer,create-state,http-proxy,rldp-http-proxy,storage-cli}
* nix flake: add static glibc build variant
* GH Actions: deb-nightly-{musl,glibc_static}, tests-rolling jobs
* rpm package
* build blockchain-explorer
* GH Actions: deb_rpm-nightly: ubuntu-{latest=>22.04}
* crypto/pow-miner: skip install
* ghactions: tests-rolling: show tests run, progress
* ghactions: deb_rpm-nightly: add manual trigger [skip ci]
* nix flake refactor
* find_package=>pkg-config(zlib)
FindZLIB.cmake can't find static zlib prior to CMake 3.24, so use
pkg-config.
* nix old glibc build
* nix aarch64 support
* packages: Populate APT and RPM repos at ton-repo
- {deb,rpm}.sh: Separate build and install dirs
- rpm.sh: Conditionally include lib/
- Accomodate local CI runs w/act
* [skip ci] README packages
* fix aarch64 build -Wnoerror=address
* [skip ci] rpm set releasever
* [skip ci] document local packages upload
* m1 build: gate cpu=apple-m1 by clang version
* packages: Ship musl binaries + old glibc dylibs
* packages: macos build
* nix: bump nixpkgs
* fix windows CI build
* [skip ci] nix: static aarch64 builds
* packages: deb,rpm multiarch
* ghactions: aarch64 musl deb,rpm build
* [skip ci] deb build: deref source links, -x
* [skip ci] nix darwin static build
* [skip ci] nix common hostPkgs
* [skip ci] brew: move formula over to homebrew-ton-repo
* [skip ci] nix fix aarch64-linux build
* [skip ci] ghactions: nix use GITHUB_TOKEN
* [skip ci] Move from ton-repo to gh releases
* [skip ci] ghactions aarch64-darwin self-hosted runner
* [skip ci] ghactions deb,rpm nightly 10h timeout
* [skip ci] fix brew install
fixes
Errno::EACCES: Permission denied @ dir_s_mkdir - /private/tmp/ton-XXX/bin/.brew_home
* [skip ci] ghactions deb,rpm nightly: don't upload ton-packages as we gh release them later
* [skip ci] README: brew instructions
* [skip ci] nightly linux binaries release
* [skip ci] packages: ship macos dylib
* [skip ci] ghactions: Run Windows build nightly, upload to gh releases
* nix: remove defaultPackage, switch to different oldglibc build method
We used to rebuild nixpkgs-stable with old glibc, which broke on aarch64
due to its particular bootstrap toolchain. This just takes nixos 19.09's
version of GCC but new dependencies, sidestepping the issue.
* fix rpm release, add aur release
* fix local (act) ci run
* ghactions: linux-nightly: Print out SSH public keys
* ghactions: bump cachix actions
* nix: default devShell
* [skip ci] rpm,aur: Ship lib
* [skip ci] packages: windows: Remove CMake files from out
* [skip ci] packages: Import chocolatey package
* fixup! fix rpm release, add aur release
* [skip ci] packages: aarch64-linux: build dylib as well
* [skip ci] ghactions: run on self-hosted
* [skip ci] ghactions: windows-nightly: Bump nodejs actions
* [skip ci] nix: Only add Linux packaging tools on Linux
* [skip ci] doc: document direct download binaries in README
* fix tonlib android jni ci
* fixup! fix tonlib android jni ci
* [skip ci] ghactions: Update GH release dates
Errata: doesn't update tags.
* [skip ci] ghactions: Fix racy brew gh release by splitting arch
* initiali commit - binaries only
* fixes
* fixes
* fixes
* fixes
* remove packages dir for now
* add storage-daemon storage-daemon-cli
* fix emulator
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64
* try macos aarch64 sh
* try macos aarch64 sh
* try macos aarch64 bash
* try macos aarch64 bash
* try macos aarch64 bash
* try macos aarch64 bash
* try macos aarch64 bash
* try macos aarch64 bash
* try macos aarch64 bash
* fix funcfiftlib compilation with emscripten
* fix funcfiftlib compilation with emscripten
* add github action to compile TON with emscripten
* add github action to compile TON with emscripten
* add github action to compile TON with emscripten
* add github action to compile TON with emscripten
* add github action to compile TON with emscripten
* add github action to compile TON with emscripten
* try macos aarch64
* fix funcfiftlib compilation with emscripten
* fix funcfiftlib compilation with emscripten
* add github action to compile TON with emscripten
* disable aarch64 github actions for now
* disable aarch64 github actions for now
* trigger all GH actions
* trigger all GH actions 2
* trigger all GH actions 3
* trigger all GH actions 4
* trigger all GH actions 5
* put back rldp-http-proxy to win build
* put back rldp-http-proxy to win build
* dont use pkgConfig for zlib
* fix zlib_library
* use BUILD_SHARED_LIBS flag for static compilation
* test 1
* test 2
* add wasm binaries to release.
test 3
* add simple binaries' execution test
* build emulator-emscripten
* build and add into artifacts wasm tlbc and emulator-emscripten
* build and add into artifacts wasm tlbc and emulator-emscripten, 2
* build and add into artifacts wasm tlbc and emulator-emscripten, 3
* build and add into artifacts wasm tlbc and emulator-emscripten, 4
* build emulator-emscripten with static libs
* minor nix mac aarch64 fix
* add single artifacts to release
* bypass $repo to Dockerfile
* add wasm artifacts to release
* add wasm artifacts to release
* add wasm artifacts to release
* add wasm artifacts to release
* add more artifacts to release; remove compilation against Ubuntu 18.04.
* retrieve GITHUB_TOKEN for ton-blockchain/ton
* remove binary check for arm64
---------
Co-authored-by: tonthemoon <tonthemoon@mailbox.org>
2023-02-27 12:32:41 +03:00
Andrey Pfau
9ea6b5bf30
Fix error message for unpacking block header ( #595 )
...
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2023-02-02 10:04:39 +03:00
EmelyanenkoK
3b3c25b654
Add account state by transaction and emulator (extended) ( #592 )
...
* account_state_by_transaction
* Correct time calculation
* Bug fixes
* Refactor
* namespace block::transaction
* smc.forget
* RunEmulator: remove wallet_id
* Refactor & fixes
* AccountStateByTransaction: use shardchain block instead of masterchain block
* transaction emulator core
* refactor
* tx emulator major functionality
* small format changes
* readme
* clean
* return json, add support for init messages
* tx emulator readme
* refactor getConfigParam and getConfigAll
* add shardchain_libs_boc parameter
* option to change verbosity level of transaction emulator
* fix deserializing ShardAccount with account_none
* add mode needSpecialSmc when unpack config
* emulator: block::Transaction -> block::transaction::Transaction
* Refactor
* emulator: Fix bug
* emulator: Support for emulator-extern
* emulator: Refactor
* Return vm log and vm exit code.
* fix build on macos, emulator_static added
* adjust documentation
* ignore_chksig for external messages
* tvm emulator, run get method
* Added more params for transaction emulator
* Added setters for optional transaction emulator params, moved libs to a new setter
* Added actions cell output to transaction emulator
* fix tonlib build
* refactoring, rand seed as hex size 64, tvm emulator send message
* tvm send message, small refactoring
* fix config decoding, rename
* improve documentation
* macos export symbols
* Added run_get_method to transaction emulator emscipten wrapper
* Fixed empty action list serialization
* Changed actions list cell to serialize as json null instead of empty string in transaction emulator
* stack as boc
* log gas remaining
* Fix prev_block_id
* fix build errors
* Refactor fetch_config_params
* fix failing unwrap of optional rand_seed
* lookup correct shard, choose prev_block based on account shard
* fix tonlib android jni build
---------
Co-authored-by: legaii <jgates.ardux@gmail.com>
Co-authored-by: ms <dungeon666master@protonmail.com>
Co-authored-by: krigga <krigga7@gmail.com>
2023-02-02 10:03:45 +03:00
SpyCheese
c6143715cc
Fix some error handling in FunC ( #599 )
2023-01-23 13:01:40 +03:00
EmelyanenkoK
653c88aa9d
Add pragmas to funC for precise control of computation order ( #589 )
...
* FunC pragmas: allow-post-modification and compute-asm-ltr
* Warn if #pragma is enabled only in included files
* Add tests for new pragmas
* Add special ops for "allow-post-modification" only when needed
* Update FunC version to 0.4.1
* Allow empty inlines (#10 )
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-01-13 12:45:04 +03:00
EmelyanenkoK
6b49d6a382
Add legacy_tester for existing funC contracts ( #588 )
...
* Add legacy_tester for existing funC contracts
* Add storage-contracts and pragma options
2023-01-12 12:33:15 +03:00
SpyCheese
13b9f460af
SuspendedAddressList config param ( #585 )
...
* SuspendedAddressList config param
* Change tag for cskip_suspended
2023-01-09 20:37:58 +03:00
EmelyanenkoK
a1d8a5e4f3
Add complex assigns to FunC and fix UB ( #574 )
...
* Fixed complex funC setglob cases
* Forbid modifying local variables after using them in the same tensor
* Fix analyzing "while" in func
* Update funC version (#9 )
* Update stress tester
* Fix using variable after move
Co-authored-by: krigga <krigga7@gmail.com>
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-12-29 18:06:13 +03:00
EmelyanenkoK
7347ec0b3b
Add TON Storage to Proxy via storage gateway ( #577 )
...
* Access ton storage from proxy, resolve "dns_storage_address" in tonlib
* Set storage gateway address in proxy args
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-12-29 17:28:50 +03:00
SpyCheese
8bfad35e93
Add try/catch to func stress-tester ( #565 )
2022-12-22 15:26:58 +03:00
EmelyanenkoK
e1be988df5
Add try/catch to FunC ( #560 )
...
* Add try-catch
* Fix 'return' bugs
* Update tests
* Fix 'SETCONTVARARGS' bug
* Fix 'SETCONTVARARGS' bug again
* Check deep stack
* Add throw_arg
Co-authored-by: legaii <jgates.ardux@gmail.com>
2022-12-22 15:26:39 +03:00
EmelyanenkoK
b6d44bb02a
Revert "fix include paths parsing under Windows ( #541 )" ( #557 )
...
This reverts commit 4d09d04a42
.
2022-12-15 17:12:29 +03:00
elderorb
4d09d04a42
fix include paths parsing under Windows ( #541 )
2022-12-15 14:55:11 +03:00
EmelyanenkoK
6f63be6140
Add more params to JettonBridgeParams
2022-12-13 17:25:12 +03:00