1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-13 03:32:22 +00:00
Commit graph

156 commits

Author SHA1 Message Date
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
EmelyanenkoK
75f57bdc76
Add versions to JettonBridgeParams (#547) 2022-12-08 15:53:01 +03:00
SpyCheese
ac50074ff6
Fix getting cell-db-reader in AsyncStateSerializer (#546) 2022-12-07 21:49:17 +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
5e3cc23921 Optimize calculation of storage stat, add logs to transaction.cpp 2022-11-24 19:16:55 +03:00
EmelyanenkoK
3d9a165586
Fix set_seed in stdlib.fc 2022-10-24 20:23:05 +03:00
EmelyanenkoK
64b960740a
Fix typo in ConfigParam 79 2022-10-22 14:42:13 +03:00
EmelyanenkoK
4c8194ab5b
Add ConfigParam 79 (#498)
* Add ConfigParam 79

* Change Config79 MsgAddress -> bits256

* Add ConfigParam 81 for Polygon
2022-10-21 17:45:37 +03:00
EmelyanenkoK
15f5a1d55a
Merge pull request #488 from ton-blockchain/master
Merge upstream
2022-10-12 14:25:27 +03:00
SpyCheese
91580e7ebf Fix emulate_not in func 2022-10-12 14:09:15 +03:00
Vladimir Támara Patiño
f7041cb44f
Can compile in OpenBSD/adJ. Closes #337 (#430)
* Updating abseil-cpp to version of 14th April 2022 that supports OpenBSD/adJ

* Not using dl in OpenBSD/adJ
2022-10-11 10:32:49 +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
EmelyanenkoK
b640f06846 Add comments to stdlib 2022-10-06 09:16:44 +03:00
EmelyanenkoK
4b940f8bad
Merge pull request #480 from ton-blockchain/testnet
Merge dev branch
2022-10-03 09:25:27 +03:00
SpyCheese
495327099c Check level of c4 and c5 2022-10-03 09:15:41 +03:00
tolya-yanot
313d37e134 auto-dns & manual-dns smartcontracts updated to actual DNS standard version by starlightduck 2022-09-30 12:14:14 +03:00
SpyCheese
fc8da44940
Fix compilation of muliplication (#475) 2022-09-29 09:24:15 +03:00
SpyCheese
5c2ad4a6c7 Tests for func with scripts 2022-09-23 16:27:18 +03:00
EmelyanenkoK
6a72aba9af
Bump func version 2022-09-22 16:55:14 +03:00
EmelyanenkoK
d23267d996
Add triple quotes asms (#463)
* Add python-like triple quotes for multiline strings

* Add test for multiline asm

* Allow asm definition duplicate

* Asm duplicate: add test & fixes

* Fix multiline asm

* Fix asm duplicate

Co-authored-by: legaii <jgates.ardux@gmail.com>
2022-09-22 16:54:26 +03:00
SpyCheese
bb5bc6178c Change recursion to loop in CellSlice 2022-09-21 11:04:40 +03:00
Starlight Duck
3c380e0a7b
Implement compilation and pre-computation of logical operations (#437)
* Implement compilation and pre-computation of logical operations (and, or, xor, not)

* Fix emulate_and optimization

* Fix variable flags in emulate_not

* Rename co2.fc to co3.fc

Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2022-09-20 14:19:42 +03:00
EmelyanenkoK
3b1d33f543
Allow constants with the same name and value (#462)
Co-authored-by: legaii <jgates.ardux@gmail.com>
2022-09-20 14:16:53 +03:00
EmelyanenkoK
9c6787d2ff
Fix undefined behavior code (#464)
* Fix UB in arithmetics

* Fix misaligned allocations in validator sessions

* Fix integer overflow in bigint.hpp

* Fix potential UB

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-09-19 17:31:54 +03:00
Andrey Tvorozhkov
bd5f4f61ac
Fix dump of null items (#459)
Co-authored-by: Andrey Tvorozhkov <andrey@h-labs.ru>
2022-09-15 09:37:27 +03:00
Andrey Tvorozhkov
e40d323fce
Add ~strdump and STRDUMP TVM OP (#452)
* Add ~strdump and STRDUMP TVM OP

Add ~strdump and STRDUMP TVM OP

Add ~strdump and STRDUMP TVM OP

* STRDUMP fixes

Co-authored-by: Andrey Tvorozhkov <andrey@h-labs.ru>
2022-09-14 12:36:54 +03:00
AlexeyFSL
e2cca03a78
Func and Fift lib for WASM (#455)
* Add social badges

Add telegram, Twitter and Stack Overflow badges in Readme

* update README.md badges

* patch for wasm build

* fix narrowing conversion error for clang compiler

* refactor func code

* funcfift lib implementation

* fix funcfift lib
fix CMakeFile

* fix rvalue missing

* remove unused field from result json

* name fix
remove unused target

* rename

* added script for building funcfiftlib to wasm

* fix json fild names

* fix commit hash for script

* added version function to funcfiftlib

* update commit hash for script

* add realpath fail processing
fix DISABLE_EXCEPTION_CATCHING option

* update hash in script

Co-authored-by: Anthony Tsivarev <tsivarev.a@gmail.com>
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
Co-authored-by: tolya-yanot <1449561+tolya-yanot@users.noreply.github.com>
2022-09-14 12:36:01 +03:00
tolya-yanot
da65be6ee2 Fix DNS resolve in liteclient and tonlib 2022-08-30 03:30:00 +03:00
SpyCheese
b44e5403c8 Fix DNS resolve in liteclient and tonlib 2022-08-29 11:04:03 +03:00
EmelyanenkoK
17c561c4db
Merge pull request #439 from ton-blockchain/master
Merge master
2022-08-17 08:02:56 +03:00