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
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
04d4ae2dec
Add version printing to legacy tester
2023-03-06 14:03:29 +03:00
EmelyanenkoK
c2c9a93916
Bump funC version to 0.4.2
2023-03-03 10:33:22 +03:00
SpyCheese
0578cb4a42
Fix typos, UBs and warnings ( #625 )
2023-02-28 12:06:09 +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
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
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
SpyCheese
91580e7ebf
Fix emulate_not in func
2022-10-12 14:09:15 +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
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
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
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
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
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
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
be9c34c62d
bugfixes
2020-04-10 23:06:01 +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
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
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
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
e30d98eb30
new db
...
new database
fift/func bugfixes
2019-11-15 18:02:37 +04:00
ton
9c9248a9ae
updated func
...
- updated func
- deleted autogenerated files from git
- updated liteclient
- increase state sync timeout
2019-10-16 13:00:43 +04:00
ton
b978e27b2f
updated smartcontract code
...
- updated smartcontract code
- fixed bug in liteserver listening socket
- updated documentation
2019-10-14 11:13:23 +04:00
ton
38c3e39066
func/fift: bugfixes
2019-10-09 20:00:54 +04:00
ton
f67f5d879b
func: bugfix
...
- bugfix in func
- vertseqno support in validator/collator/topsharddescr
2019-10-07 13:08:23 +04:00
ton
dd745485e2
update tonlib
...
tonlib: update
collator: increased collation speed for masterchain
fift: bugfixes
2019-10-04 16:08:02 +04:00
ton
7ea00ebfcf
updated tonlib, fixed bugs
...
updated tonlib
fixed bugs in func
validator: partial support for hardforks
liteserver: support for waitMasterchainBlock prefix
transactions: support for gas flat rate
2019-10-03 17:04:52 +04:00
ton
841d5ebac2
updated fift
...
updated fift
updated some smartcontracts
added partial support for hardforks
2019-10-01 14:07:35 +04:00