1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-12 19:22:37 +00:00
Commit graph

261 commits

Author SHA1 Message Date
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
ton
7f3a22a217 speed up synchronization
- download old files in chunks
- updated docs
- fixed elector/config smartcontracts
2019-11-18 22:15:14 +04:00
ton
e30d98eb30 new db
new database
fift/func bugfixes
2019-11-15 18:02:37 +04:00
ton
11bd640ee0 updated tonlib 2019-10-31 22:14:52 +04:00
ton
3002321eb7 updated tonlib 2019-10-31 14:26:04 +04:00
ton
c860ce3d1e updated smartcontracts
- updated smartcontracts
- updated fullnode database layout
- fixed memory leak in blockchain-explorer
- updated tonlib
2019-10-23 17:43:50 +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
29deff15c3 updated fift
updated fift
updated tonlib
2019-10-05 21:21:24 +04:00
ton
7c595294b6 updated tonlib 2019-10-04 21:17:47 +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
ton
2845f9a2cc liteserver: bugfix
liteserver/liteclient: fixed bug in proof
validator: added stats
smartcontracts: updates
2019-09-30 16:49:45 +04:00
ton
ecb3e06a06 tonlib: big update 2019-09-30 12:53:00 +04:00
ton
fd7a8de970 updated tonlib, block routing
- upated tonlib
- fixed bug in message routing
2019-09-28 11:44:38 +04:00
ton
ac3eb1a7b8 tonlib updated
- updated tonlib
- added documentation
- speed up full node synchronization
2019-09-25 17:50:58 +04:00
ton
07b26e2259 fullnode: added getCapabilities query 2019-09-24 14:20:26 +04:00
ton
28df74178c updated tonlib
1. updated tonlib
2. fixed bug in state download
2019-09-22 10:14:09 +04:00
ton
f40822b58a fullnode: support for TCP master/slave replication 2019-09-19 23:17:17 +04:00
ton
13140ddf29 updated block header
1. Updated block header, proofs now contain more data
   Notice, that old proofs may become invalid in the future
2. Fixed message routing
3. Fixed block creator id in block header
4. Support for full proofs in tonlib
5. Support for partial state download
6. Some other bugfixes
2019-09-18 21:46:32 +04:00
ton
bce33f588a updated smartcontract code
updated lite-client and configuration smartcontract
updated tonlib code
2019-09-16 12:08:04 +04:00
ton
9d6853ef24 liteclient signature check support
1. update liteclient/liteserver. Now liteserver sends signatures of
blocks and liteclient checks them. I.e. liteclient completely checks
received data.
2. validator-engine: more GC options
3. blockchain-explorer: show all block transactions (instead of 256)
4. some bugfixes
2019-09-14 18:14:55 +04:00
ton
d8244eff53 changed validate broadcast logic, added new queries to
validator-engine-console
2019-09-11 16:50:29 +04:00
ton
47814dca3d deleted unused code, support for logrotate, update in block validation code 2019-09-10 12:31:51 +04:00
ton
2b734e170c updated simple wallet sc, updated transaction processing code 2019-09-08 20:29:51 +04:00
initial commit
c2da007f40 initial commit 2019-09-07 14:33:36 +04:00