1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-12 19:22:37 +00:00
ton/crypto/smartcont
tolk-vm d9dba320cc
[Tolk] Get rid of ~tilda with mutate and self methods
This is a very big change.
If FunC has `.methods()` and `~methods()`, Tolk has only dot,
one and only way to call a `.method()`.
A method may mutate an object, or may not.
It's a behavioral and semantic difference from FunC.

- `cs.loadInt(32)` modifies a slice and returns an integer
- `b.storeInt(x, 32)` modifies a builder
- `b = b.storeInt()` also works, since it not only modifies, but returns
- chained methods also work, they return `self`
- everything works exactly as expected, similar to JS
- no runtime overhead, exactly same Fift instructions
- custom methods are created with ease
- tilda `~` does not exist in Tolk at all
2024-11-02 03:44:14 +04:00
..
tolk-stdlib [Tolk] Get rid of ~tilda with mutate and self methods 2024-11-02 03:44:14 +04:00
asm-to-cpp.fif updated smartcontract code 2019-10-14 11:13:23 +04:00
auto-dns.fif auto-dns & manual-dns smartcontracts updated to actual DNS standard version by starlightduck 2022-09-30 12:14:14 +03:00
complaint-vote-req.fif updated submodules, bugfixes 2020-04-27 16:01:46 +04:00
complaint-vote-signed.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
config-code.fc Add notes on mainnet version to config-code 2023-04-10 09:32:49 +03:00
config-proposal-vote-req.fif added support for config change proposals 2020-03-30 17:20:45 +04:00
config-proposal-vote-signed.fif added support for config change proposals 2020-03-30 17:20:45 +04:00
create-config-proposal.fif Fix old hash parsing in create-config-proposal.fif 2021-02-09 17:26:26 +03:00
create-config-upgrade-proposal.fif added support for config change proposals 2020-03-30 17:20:45 +04:00
create-elector-upgrade-proposal.fif added support for config change proposals 2020-03-30 17:20:45 +04:00
CreateState.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
dns-auto-code.fc auto-dns & manual-dns smartcontracts updated to actual DNS standard version by starlightduck 2022-09-30 12:14:14 +03:00
dns-manual-code.fc auto-dns & manual-dns smartcontracts updated to actual DNS standard version by starlightduck 2022-09-30 12:14:14 +03:00
elector-code.fc minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
envelope-complaint.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
gen-zerostate-test.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
gen-zerostate.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
highload-wallet-code.fc updated liteserver 2020-02-02 16:53:37 +04:00
highload-wallet-v2-code.fc Add note on highload wallet pecularities 2024-01-09 15:49:42 +03:00
highload-wallet-v2-one.fif validator: multiple bugfixes 2020-04-06 15:22:14 +04:00
highload-wallet-v2.fif rldp-http-proxy: use tonlib 2020-02-12 00:14:16 +04:00
highload-wallet.fif rldp-http-proxy: use tonlib 2020-02-12 00:14:16 +04:00
LICENSE.LGPL Add Licenses to funC stdlib 2023-03-14 21:29:33 +03:00
manual-dns-manage.fif auto-dns & manual-dns smartcontracts updated to actual DNS standard version by starlightduck 2022-09-30 12:14:14 +03:00
mathlib.fc Add Licenses to funC stdlib 2023-03-14 21:29:33 +03:00
multisig-code.fc emergency update 2020-03-24 03:32:16 +04:00
new-auto-dns.fif updated tonlib + fixes in vm 2020-02-20 19:56:18 +04:00
new-highload-wallet-v2.fif updated smartcontract code 2019-10-14 11:13:23 +04:00
new-highload-wallet.fif updated smartcontract code 2019-10-14 11:13:23 +04:00
new-manual-dns.fif rldp-http-proxy: use tonlib 2020-02-12 00:14:16 +04:00
new-pinger.fif bugfix in validator 2020-04-03 18:47:22 +04:00
new-pow-testgiver.fif pow-testgiver support 2020-07-06 17:07:20 +03:00
new-restricted-wallet.fif updated smartcontract code 2019-10-14 11:13:23 +04:00
new-restricted-wallet2.fif updated submodules, bugfixes 2020-04-27 16:01:46 +04:00
new-restricted-wallet3.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
new-testgiver.fif func/fift: bugfixes 2019-10-09 20:00:54 +04:00
new-wallet-v2.fif updated liteserver 2020-02-02 16:53:37 +04:00
new-wallet-v3.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
new-wallet.fif updated liteserver 2020-02-02 16:53:37 +04:00
payment-channel-code.fc bugfixes + tonlib update 2020-04-30 15:04:47 +04:00
pow-testgiver-code.fc pow-testgiver support 2020-07-06 17:07:20 +03:00
recover-stake.fif func/fift: bugfixes 2019-10-09 20:00:54 +04:00
restricted-wallet-code.fc updated func and tonlib 2020-02-15 20:03:17 +04:00
restricted-wallet2-code.fc updated submodules, bugfixes 2020-04-27 16:01:46 +04:00
restricted-wallet3-code.fc updated submodules, bugfixes 2020-04-27 16:01:46 +04:00
show-addr.fif updated submodules, bugfixes 2020-04-27 16:01:46 +04:00
simple-wallet-code.fc updated fift/func 2019-12-12 19:16:25 +04:00
simple-wallet-ext-code.fc updated liteserver 2020-02-02 16:53:37 +04:00
stdlib.fc Doclinks that refer to docs.ton.org domain (#1029) 2024-06-27 11:03:16 +03:00
testgiver.fif func/fift: bugfixes 2019-10-09 20:00:54 +04:00
update-config-smc.fif updated fift + bugfixes 2019-12-05 16:51:51 +04:00
update-config.fif updated lite-client 2020-03-31 17:11:56 +04:00
update-elector-smc.fif updated smartcontract code 2019-10-14 11:13:23 +04:00
validator-elect-req.fif updated tonlib 2020-02-06 21:56:46 +04:00
validator-elect-signed.fif updated tonlib 2020-02-06 21:56:46 +04:00
wallet-code.fc updated liteserver 2020-02-02 16:53:37 +04:00
wallet-v2.fif vm: bugfixes 2020-03-02 17:52:55 +04:00
wallet-v3-code.fif minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
wallet-v3.fif Add state-init option to wallet-v3.fif script (#1282) 2024-10-19 12:34:08 +03:00
wallet.fif validator: multiple bugfixes 2020-04-06 15:22:14 +04:00
wallet3-code.fc updated liteserver 2020-02-02 16:53:37 +04:00