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
Andrey Tvorozhkov
c1f281d814
Add addr@+ / addr@ functions to parse addr from slice ( #366 )
...
Add addr@ to parse `addr_none$00` / `addr_extern$01` / `addr_std$10` / `addr_var$11` from slice.
Tests:
```
<b b{00} s, b> <s addr@ ."addr_none$00 parsed: " print-addr cr // addr_none$00
<b b{01} s, 10 9 u, b{1101010101} s, b> <s addr@ ."addr_extern$01 parsed: " print-addr cr // addr_extern$01
<b b{10} s, b{1} s, 10 30 u, b{1111111111} s, -1 8 i, x{8000000000000000000000000000000000000000000000000000000000000000} s, b> <s addr@ ."addr_std$10 with Anycast parsed: " print-addr cr // addr_std$10 with Anycast
<b b{10} s, b{0} s, -1 8 i, x{8000000000000000000000000000000000000000000000000000000000000000} s, b> <s addr@ ."addr_std$10 without Anycast parsed: " print-addr cr // addr_std$10 without Anycast
<b b{11} s, b{1} s, 10 30 u, b{1111111111} s, 256 9 u, -10 32 i, x{8000000000000000000000000000000000000000000000000000000000000000} s, b> <s addr@ ."addr_var$11 with Anycast parsed: " print-addr cr // addr_var$11
<b b{11} s, b{0} s, 256 9 u, -10 32 i, x{8000000000000000000000000000000000000000000000000000000000000000} s, b> <s addr@ ."addr_var$10 with Anycast parsed: " print-addr cr // addr_var$11
```
2022-08-15 18:35:27 +03:00
andreypfau
e36452fffe
Explicitly add ValueFlow prefix ( #411 )
2022-08-15 18:23:23 +03:00
Dmitriy
fb3077af9b
crypto/vm: fix include
2022-08-11 12:27:47 +03:00
SpyCheese
8d7f1bba73
Update catchain ( #432 )
...
* Update catchain
* Update ton_api.tlo
2022-08-08 09:31:36 +03:00
EmelyanenkoK
5101b404a4
Merge branch 'master' into testnet
2022-08-04 17:45:31 +03:00
EmelyanenkoK
d46e4b3538
A series of FunC improvements ( #378 )
...
* Don't use IFJMP/IFNOTJMP in inline functions
* Fix incorrect ifelse branch code generation
https://github.com/ton-blockchain/ton/issues/374
* Make generate_code_all clearer
* Don't replace IFJMP with IF in inner blocks in inline functions
* Allow unbalance if/else by using RETALT
* Fix wrong PUSHCONT
* Bugfix in IF code generation for inline functions
* Fix unbalanced if/else
* Bugfix and improvements in code generation
* Fix analyzing while(0) in func
https://github.com/ton-blockchain/ton/issues/377
* FunC and Asm.fif: Fix inlining large functions
https://github.com/ton-blockchain/ton/issues/375
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-08-04 14:53:47 +03:00
EmelyanenkoK
40cec56e28
A series of FunC improvements ( #378 )
...
* Don't use IFJMP/IFNOTJMP in inline functions
* Fix incorrect ifelse branch code generation
https://github.com/ton-blockchain/ton/issues/374
* Make generate_code_all clearer
* Don't replace IFJMP with IF in inner blocks in inline functions
* Allow unbalance if/else by using RETALT
* Fix wrong PUSHCONT
* Bugfix in IF code generation for inline functions
* Fix unbalanced if/else
* Bugfix and improvements in code generation
* Fix analyzing while(0) in func
https://github.com/ton-blockchain/ton/issues/377
* FunC and Asm.fif: Fix inlining large functions
https://github.com/ton-blockchain/ton/issues/375
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2022-08-04 14:48:19 +03:00
SpyCheese
7e207dc78f
Update DNS resolver in liteclient and tonlib
2022-06-29 17:59:30 +03:00
sonofmom
f599f08791
Silence errant debug stderr output
2022-06-20 00:21:57 +02:00
EmelyanenkoK
8537dd60e6
Fix tests ( #405 )
...
* [tonlib] Update master configs and fix test-tonlib-offline
* Fix test-bigint in release build
Co-authored-by: ms <98183742+dungeon-master-666@users.noreply.github.com>
Co-authored-by: dungeon-master-666 <dungeon666master@protonmail.com>
2022-06-13 20:02:32 +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
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
starlightduck
eb35cf653a
Use td::realpath
and add re-inclusion tests
2022-05-12 18:57:03 +03:00
starlightduck
9356a16b84
Implement #include
keyword with advanced checks and backtrace
2022-05-12 12:54:34 +03:00
EmelyanenkoK
0c772185ef
Add constants and string literals to funC
...
* Add special string literals "..."? (s,a,u,h,)
* Add string literal H (256-bit hash)
* Add string literal c (crc32)
* Use td::hex_encode instead of homebrew function and add test
* Fix error codes and use more generic address
* Add support for int and slice constants
* Add support for strongly typed constants
* Add support for precompiled constant expressions (hard!)
Co-authored-by: starlightduck <starlightduck@gmail.com>
2022-05-06 11:13:04 +03:00
starlightduck
0e955793ed
Add support for #pragma version
and FunC versioning
...
FunC pragma refined error messages and ^ partials
2022-05-06 11:11:42 +03:00
OmicronTau
0e47c6c8e0
Asm.fif typo in IFBITJMPs
2022-05-06 11:11:06 +03:00
akifoq
34590176eb
Fix IF:<{ and IFNOT:<{ empty continuation case
...
The boolean value should be DROPped in the case the continuation is empty.
2022-05-06 11:06:48 +03:00
Starlight Duck
3fee04e20a
Support libraries in LS and request+caching in TLC
2022-05-06 10:48:05 +03:00
Starlight Duck
7dc980562f
tonlib use correct c7: config and address when executing
2022-05-06 10:46:16 +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
703bcd6e32
Add tests and fixes for modpow2, muldivmod
2022-05-06 10:43:53 +03:00
tolya-yanot
6faeca69a2
Fix split-depth and collator
2021-11-07 23:58:36 +03:00
OmicronTau
64e68a47ec
Fix 256+ depth pruned cell deserialization
2021-09-15 18:08:39 +03:00
OmicronTau
cc86a0724a
Fix muldivmod
2021-09-15 18:08:39 +03:00
EmelyanenkoK
03fc659d23
Update block.tlb
2021-09-06 12:49:36 +03:00
tolya-yanot
c1a733c0f0
Add send_mode param to tonlib_api msg.message (send_mode=-1 - use default)
2021-08-02 23:59:42 +03:00
EmelyanenkoK
46204d918d
Make fine multiplicators rational with 256 base
2021-06-16 20:03:22 +03:00
EmelyanenkoK
41255daa54
Use punishment params from config for validator complaints
2021-06-16 20:03:22 +03:00
EmelyanenkoK
9a4ac01078
Set proto_version in ValidatorSessionConfig from network config
2021-06-16 20:03:22 +03:00
EmelyanenkoK
82a3eb9bd2
Add TL-B schemes for consensus_v3, misbehaviour_punishment and oracles
2021-06-16 20:03:22 +03:00
Kirill Ponazdyr
456cc977be
Increase thread limit to 256
2021-04-03 20:03:54 +03:00
Alex Melman
bab4c1637e
Automatically integrates git build information into executables.
...
Usage:
func.exe -V
adnl-pong -V
validator-engine -V
and so on.
Result will be shown in the following format:
Func build information: [ Commit: d8b751d7a5
, Date: 2021-02-27 14:34:41 +0200]
2021-02-27 14:34:43 +03:00
Alex Melman
41a3418b7b
Adds command line parameter -V that shows build version to the binaries.
...
Build number controlled in top level CMakeLists.txt file via -DBUILD_VERSION variable.
Usage:
adnl-pong -V
validator-engine -V
and so on.
2021-02-27 14:34:41 +03:00
Kirill A
a12e3db5d3
Enable installation of smartcontract and tonlib-cli
2021-02-26 23:48:52 +03:00
EmelyanenkoK
f9828a1252
Fix old hash parsing in create-config-proposal.fif
2021-02-09 17:26:26 +03:00
EmelyanenkoK
666576682a
Fix non-critical bug in config-code
...
Wins/losses order is messed up
2021-02-09 17:26:26 +03:00
ton
24dc184a2e
validator large state serialization bugfix + tdlib update for clients
2021-01-07 22:48:04 +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
040df63c98
minor improvements and bugfixes
2020-05-07 10:35:23 +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
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
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
0e4277313c
fixed crash in validator. Updated elector/config smartcontracts
2020-04-02 17:08:42 +04:00
ton
9bff9285b8
bugfix in config sc + docs
2020-04-01 13:07:29 +04:00
ton
4b5dd4525e
updated lite-client
2020-03-31 17:11:56 +04:00
ton
4dd5eea11f
added support for config change proposals
...
- added some fift scripts for the config change proposal voting
- added validator-engine-console support for the config change proposal voting
- additional sanity checks in catchain
- unsafe slow catchain resync method
2020-03-30 17:20:45 +04:00
ton
a31f8d4424
bugfixed + crypto update
...
- compiles vs BoringSSL
- config proposal/vote fift code
- bugfixes in catchain
- other small fixes
2020-03-27 18:59:00 +04:00
ton
9f351fc29f
emergency update
2020-03-24 03:32:16 +04:00
ton
5d846e0aaf
changed block layout
2020-03-11 20:34:33 +04:00
ton
54c7a4dcc3
updated vm
...
- updated func/fift
- additional checks in block validator
- docs
- tunnel prototype in ADNL
2020-03-11 14:19:31 +04:00
ton
ba76f1404e
vm: bugfixes
2020-03-02 17:52:55 +04:00
ton
dd4ac0f440
vm bugfixes
2020-02-28 18:59:47 +04:00
ton
e27fb1e09c
updated vm (breaking compatibility)
...
- updated vm
- new actor scheduler
- updated tonlib
- updated DNS smartcontract
2020-02-28 14:28:47 +04:00
ton
efd47af432
updated tonlib + fixes in vm
2020-02-20 19:56:18 +04:00
ton
28735ddc9e
bugfixes
2020-02-17 14:18:59 +04:00
ton
a73d202ba2
updated func and tonlib
2020-02-15 20:03:17 +04:00
ton
493ae2410c
rldp-http-proxy: use tonlib
...
- rldp-http-proxy used TONLib to resolve domains via DNS smartcontract
- updated tonlib
- bugfixes
2020-02-12 00:14:16 +04:00
ton
1de39f5d7c
bugfixes + doc update
2020-02-08 23:24:49 +04:00
ton
77842f9b63
updated tonlib
...
- updated tonlib
- updated validator
- updated documentation
- first version of http over rldp proxy
2020-02-06 21:56:46 +04:00
ton
53ec9684bd
updated liteserver
...
- new methods for liteserver/liteclient
- added ADNL/DHT client-only work mode
- fixed crash in ADNL
2020-02-02 16:53:37 +04:00
ton
acf16718e6
updated func/fift
...
- updated func/fift
- updated liteclient/liteserver
- bugfixes
2019-12-29 12:14:12 +03:00
ton
d41ce55305
updated fift/func
2019-12-12 19:16:25 +04:00
ton
ceaed40ac4
updated fift + bugfixes
2019-12-05 16:51:51 +04:00
ton
090e0c16eb
slightly changed block format
...
- small change in block format
- added config in blockchain explorer
- bugfixes
2019-11-28 18:44:14 +04:00