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

455 commits

Author SHA1 Message Date
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
EmelyanenkoK
82e231d0a7
Fix deploy_storage_contract detection 2023-03-07 21:22:17 +03:00
Marat
6000a2646c
Add transaction running elapsed time to emulator response (#616) 2023-03-07 19:51:09 +03:00
EmelyanenkoK
5a3e6ec559
Update ubuntu:20.04 dockerfile (#636) (#640)
* Update Dockerfile

* Update Dockerfile

---------

Co-authored-by: neodiX42 <neodiX@ton.org>
2023-03-07 19:50:07 +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
e37583e5e6
Merge pull request #638 from ton-blockchain/testnet
Improve size estimation in send_message_in (#637)
2023-03-06 18:32:11 +03:00
SpyCheese
4db7ad039a
Fix size estimation in send_message_in (#637) 2023-03-06 18:29:23 +03:00
EmelyanenkoK
c5b6330368
Update ubuntu:20.04 dockerfile (#636)
* Update Dockerfile

* Update Dockerfile

---------

Co-authored-by: neodiX42 <neodiX@ton.org>
2023-03-06 15:30:59 +03:00
EmelyanenkoK
b2a3483cfb
Merge pull request #635 from ton-blockchain/testnet
Merge 03.2023 update
2023-03-06 14:07:44 +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
dbecfe6f28 Add 03.2023 update to Changelog 2023-03-06 14:03:49 +03:00
EmelyanenkoK
04d4ae2dec Add version printing to legacy tester 2023-03-06 14:03:29 +03:00
neodiX42
f06d5cb053
Make path separator cross-platform in few places (#628)
* make path separator cross-platform in few places

* reuse path separator definer
2023-03-05 14:15:53 +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
1366a2e1aa
Add link to tondev 2023-03-05 14:11:42 +03:00
EmelyanenkoK
436b9f127d
Make Ton logo in README a link to ton.org 2023-03-05 14:01:26 +03:00
EmelyanenkoK
4873bd77cd
Add doc links to README 2023-03-04 22:22:11 +03:00
EmelyanenkoK
d9eb0bbd3b
Add func mathlib (#633) 2023-03-04 19:17:39 +03:00
neodiX42
e62830fb10
Fix failing release creation due to missing windows binaries (#632)
* Update create-release.yml

* Update win-2019-compile.yml

* Update create-release.yml
2023-03-04 15:34:36 +03:00
EmelyanenkoK
c2c9a93916
Bump funC version to 0.4.2 2023-03-03 10:33:22 +03:00
SpyCheese
fafb90b5fa
Fix compilation error in rldp-http-proxy (#630) 2023-03-02 20:39:00 +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
krigga
470b97fa2c
fix: parse capabilities in emulator config to have bounced message bodies (#620) 2023-02-27 12:26:51 +03:00
EmelyanenkoK
d3b622a527
Fix block_lt in account state by transaction (#624)
* fix getAccountStateByTransaction

* set correct block_lt

---------

Co-authored-by: ms <dungeon666master@protonmail.com>
2023-02-27 08:49:03 +03:00
EmelyanenkoK
f118afab84
fix getAccountStateByTransaction (#623)
Co-authored-by: ms <dungeon666master@protonmail.com>
2023-02-26 11:38:25 +03:00
EmelyanenkoK
c369127ae0
rldp2 support in rldp-http-proxy (#608)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-02-03 09:50:44 +03:00
EmelyanenkoK
7a78ea33b7
Update op-code for provider/contract interaction (#602)
* Update provider->contract deploy_contract op-code

* Switch to B{} representation of child contracts
2023-02-02 12:28:41 +03:00
neodiX42
681b494410
Include blockchain-explorer to artifacts (#593)
* Update create-release.yml

minor test

* Update macos-12.6-compile.yml

Add blockchain-explorer

* Update macos-11.7-compile.yml

add blockchain-explorer

* Update win-2019-compile.yml

add blockchain-explorer

* Update macos-12.6-compile.yml

* Update macos-11.7-compile.yml

* Update macos-12.6-compile.yml

* Update macos-12.6-compile.yml

* Update macos-12.6-compile.yml

* Update macos-11.7-compile.yml

---------

Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2023-02-02 10:06:17 +03:00
Andrey Pfau
426879cd82
ErrorCode::notready for "block is not applied": (#594) 2023-02-02 10:04:54 +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
SpyCheese
1e4eecfdb0
Logs and size limits for incoming queries in FullNodeShard (#601)
* Log incoming queries in FullNodeShard

* Limit size for some queries in FullNodeShard
2023-02-02 10:04:19 +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
EmelyanenkoK
adf67aa869
Reinit ADNL (#586)
* Fix dht queries in AdnlPeerPair

* Don't use adnl channel if peer does not respond

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-02-02 10:00:58 +03:00
EmelyanenkoK
fc9542f5e2
Merge pull request #606 from ton-blockchain/testnet
Merge 01.2023 update
2023-01-31 10:10:38 +03:00
EmelyanenkoK
9835ac8af2
Add 01.2023 Changelog 2023-01-31 10:10:00 +03:00
SpyCheese
45c0270716
Improve handling of absent blocks in archive manager (#600) 2023-01-23 14:40:28 +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
f59c363ab9
Merge pull request #584 from ton-blockchain/testnet
Merge 12.2022 updates
2023-01-08 16:04:27 +03:00
EmelyanenkoK
41ea3ef5b7
Fix typo in 12.2022 update naming 2023-01-08 16:03:24 +03:00
EmelyanenkoK
2214d88cd3
Add notes for 01.2023 update 2023-01-08 15:50:59 +03:00
neodiX42
44198205f1
Fix arm64 docker builds (#581)
* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* force GSL 2.7.1 version

* force GSL 2.7.1 version

* handle missing BLAS library

* handle missing BLAS library, force GSL 2.7.1 version, build storage-daemon and storage-daemon-cli binaries

* Revert "handle missing BLAS library"

This reverts commit 67ebd4abfa.

* remove GSL

* remove GSL only for 18.04

* remove GSL only for 18.04

* link blas library; leave gsl

* merge upstream

* Fix arm64 docker builds
2022-12-30 21:51:54 +03:00
neodiX42
446b9f536f
Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries' portability. (#580)
* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* force GSL 2.7.1 version

* force GSL 2.7.1 version

* handle missing BLAS library

* handle missing BLAS library, force GSL 2.7.1 version, build storage-daemon and storage-daemon-cli binaries

* Revert "handle missing BLAS library"

This reverts commit 67ebd4abfa.

* remove GSL

* remove GSL only for 18.04

* remove GSL only for 18.04

* link blas library; leave gsl

* merge upstream

* make more portable binaries by excluding AVX512 CPU flag

* make rocksdb to produce portable binaries

* make rocksdb to produce portable binaries

* make rocksdb to produce portable binaries

* show OS CPU flags & force AVX2

* DPORTABLE=1 and -DTON_ARCH=

* DPORTABLE=1 and -DTON_ARCH= and -DCMAKE_CXX_FLAGS="-mavx2"

* DPORTABLE=1 and -DTON_ARCH= and -DCMAKE_CXX_FLAGS="-mavx2"

* DPORTABLE=1 and -DCMAKE_CXX_FLAGS="-mavx2" only

* Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries portability.

* Ignore usage of AVX512 and force AVX2 CPU instructions for better binaries' portability.

* minor fix
2022-12-30 20:13:10 +03:00
neodiX42
ebde4e022e
Include storage-daemon and storage-daemon-cli binaries into artifacts (#579)
* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* build storage-daemon and storage-daemon-cli binaries

* force GSL 2.7.1 version

* force GSL 2.7.1 version

* handle missing BLAS library

* handle missing BLAS library, force GSL 2.7.1 version, build storage-daemon and storage-daemon-cli binaries

* Revert "handle missing BLAS library"

This reverts commit 67ebd4abfa.

* remove GSL

* remove GSL only for 18.04

* remove GSL only for 18.04

* link blas library; leave gsl

* merge upstream
2022-12-30 20:00:54 +03:00