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
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