แแฅแแแ แแแแแ แแกแแแแแแ แแก Telegram
Serokell-แแก แแฃแแแ, แ แแแแแกแแช แแแแ แแแแแชแแแแแแ แแฅแแก แแกแฎแแแแ แแแแแฉแแแแแก แแ แแแฅแขแแแแก แจแแแฃแจแแแแแแจแ, แแแแแ แแแ แแแฉแแ แแ. แแแแแฃแ แกแแ แฎแฃแแ แแแแแแจแ แแแแแ แแแแแแแฌแแแแ แแ แแ แ แแแแ แแก แจแแแแแ แแแ แแแ แแแแ แแแแแแ แแแแแแแแก (แแ แ)แแแแ แซแแแแแฃแแ แจแแแแฎแแแแแแ แแแขแกแแฎแแแแ แกแแฅแกแฃแแแฃแ แ แฅแแแแแแแแ. แแ แกแขแแขแแแจแ แแแกแแฃแแ แแ แแแแแ, แแฃ แ แแแแ แแแแแแแแก แแก. แแแแแแแแแแแ, แ แแ แฃแแฎแแแแก แแ แฌแฃแแจแ แแแแแช แฌแแแแแแฎแแแ แกแแแแขแแ แแกแ แแแแแแก แแ แแแฅแกแแแฃแ แแแแแแ แแแกแจแ แ แแแแ แกแแกแแ แแแแแแก, แ แแแแแแช แจแแแแซแแแแ แแแแแแงแแแแ แแฅแแแแก แกแแฅแแแแแแแแจแ.
แแแแ แแ แแแแแฌแงแแ แแชแแ แ แแแแขแแฅแกแขแแ.
แแแแแฃแ แกแ แแ แแแกแ แแแ แแแแแ
แแกแ แ แแ, แแแแแฌแแแแแ แซแแ แแแแแ แแแแชแแแแแ แแงแ แแ แแ แแ แแแขแ แจแแแแแแแแแแแฃแแ แญแแแแแแ แแแแขแ แแฅแขแแก แแแแฎแแ แชแแแแแแ, แแกแแแ TON แแแแกแแกแขแแแแก แแแฃแแฏแแแแกแแแแก แฌแแแแแแแแแแแแก แแแแแแแแ. แแแแแฃแ แกแ 24 แกแแฅแขแแแแ แแแแ 15 แแฅแขแแแแ แแก แฉแแแแแแ แแแแ แซแแแแ, แจแแแแแแแ แแ แแฎแแแแ 15 แแแแแแแ แก แแแแแชแฎแแแแ. แกแแแแแแ แแแแ แฎแแแก แแแแแแแแแแแจแ, แแแแก แแแแแแแแกแฌแแแแแแ, แ แแ แแ แฎแแแก แแแแแแแแแแแจแ Telegram-แแ แแแแฎแแ แฎแ แแแแแฃแ แกแแแแก แแแแแ แแแ แแ แแแแแชแฎแแแแแ C++-แจแ แแแแแแแชแแแแแก แแแแแแแแกแ แแ แจแแแฃแจแแแแแแก แจแแกแแฎแแ, Telegram-แจแ VoIP แแแ แแแแก แขแแกแขแแ แแแแกแ แแ แฎแแ แแกแฎแแก แจแแกแแคแแกแแแแแ.
แแ แแแแแแแขแแ แแแแก แแแแ แจแแแแแแแแแแแฃแแ แกแแแแแ แแ แ แญแแแแแแ แแแแขแ แแฅแขแ แจแแแแ แฉแแแ. แแ แ-แแ แแ แแแแแแแแกแแแแก แฉแแแ แแแแแแแงแแแแ TON-แแ แแแแแฌแแแแแฃแแ แฎแแแกแแฌแงแแแแ, แฎแแแ แแแแ แ แแแแฎแแ แชแแแแแ แแฎแแ แแแแแ, แ แแแแแแช แจแแแฃแจแแแแ แฉแแแแ แแแแแแ แแแแก แแแแ แกแแแชแแแแฃแ แแ TON-แแกแแแแก แแ แฉแแจแแแแแฃแแ แแงแ Haskell-แจแ.
แคแฃแแฅแชแแฃแ แ แแ แแแ แแแแ แแแแก แแแแก แแ แฉแแแแแ แจแแแแฎแแแแแแ แแ แแ แแก. แฉแแแแก
แ แแขแแ แแแแแแฌแงแแแขแแ แแแแแฌแแแแแแ?
แแแแแแ, แแแแขแแ, แ แแ แฉแแแแ แกแแแชแแแแแแแชแแ แแ แแก แแ แแกแขแแแแแ แขแฃแแ แแ แแแแแแแฅแกแฃแ แ แแ แแแฅแขแแแ, แ แแแแแแแช แแแแกแแแฃแแ แแแฃแ แฃแแแ แแแก แแแแแฎแแแก แแ แฎแจแแ แแ แแแชแแแแ แฃแแ แฆแแ แแแฃแแแแแก แแฅแแแแ IT แกแแแแแแแแแแแกแแแแก. แฉแแแ แแขแแแชแแ แแฃแญแแ แ แแฎแแ แก แฆแแ แแแแแก แแแแแแแแ แแแแก แแ แฉแแ แแฃแแ แแแ แ แแแก แแแแฃแแแ แแแแชแแแจแ, แแกแแแ แแแแแแแจแ แแแแแแ แฌแแแงแแแ แ แฃแกแฃแ แฃแแแแแ แกแแขแแขแแแแแ แแแแแแฃแขแแ แฃแแ แแแชแแแแ แแแแกแ แแ แแแแแแแขแแแแก แกแคแแ แแจแ.
แแแแแฃแ แกแแก แกแแแแขแแ แแกแ แแแแชแแแแแ แแ แฉแแแแก แกแแงแแแ แแ แขแแแแแ แแแแก แแ แแแฅแขแจแ แฉแแ แแแ แแแแแกแแแแแ แจแแกแแแแจแแแแ แแแขแแแแชแแ แแงแ, แแแแ แแ แกแแแ แแแ แคแแแแ แแแฎแแ แแแแแขแแแแแ แกแขแแแฃแแ. ๐
TON-แแก แแแแแฉแแแแแก แแแแแแ
แฉแแแ แงแฃแ แแแฆแแแแ แแแแแแแแแ แแแแแงแฃแ แก แแแแแฉแแแแแก, แฎแแแแแแฃแ แ แแแขแแแแฅแขแแกแ แแ แแแแฅแแแแแแชแแแแแแแแก แแฎแแ แแแแแแแแ แแแแก แแ แแชแแแแแแ แแ แแแแแแขแแแแ แแ แช แแ แแ แแแแจแแแแแแแแแ แแแแแชแแแ แแแแแแฃแ แกแคแแ แแจแ, แกแแแแช แฉแแแ แแแฃแจแแแแ. แแแแขแแ, แแแแแฃแ แกแแก แแแฌแงแแแแก แแ แแแกแแแแก แฉแแแแ แแฃแแแ แฃแแแ แแชแแแแแ แแแแแแก
แแแแแฃแ แกแแก แแแฌแงแแแแกแแก แแแแ แฃแแแ แแแแแฅแแแงแแแแฃแแ แแงแ, แแแแขแแ แแ แแแก แแแแแแแแก แแแแแแ แแแแแแฌแงแแแขแแ แแแซแแแแแ แกแแฎแแแแซแฆแแแแแแ แแ แ แแแแฃแแ, แ แแแแแแช แแแฌแแ แแแ แแงแ แแแแฎแแแ แแแแแแแก แแแแ . แกแแแฌแฃแฎแแ แแ, แแแแ แจแแแแแ แแ แแแแขแแแ - แแแ แแ Ubuntu-แแ แแแแขแคแแ แแแก แแฌแงแแแแก แแแกแขแ แฃแฅแชแแแกแ, แฉแแแ แแแ แแแแแแแแ แกแฎแแ แแแกแแแแแ.
แแแแแ แแแแฃแแแแขแแชแแ แแแ แแแ แแงแ แแแแแแแแแฃแแ, แแแแ แแ แแแแแแ แ แกแคแแ แแจแ แซแแแแ แฌแแกแแแแแฎแ แแงแ. แฎแจแแ แแ แแแแฌแแแแ แแแ แแแแฃแ แแฃแแฅแขแแแแ แแแแ แฃแแแแ แแ แแแกแขแ แแฅแขแฃแแ แแแแแแแก แแแฆแแแ แแแแแก แแฆแฌแแ แแแแแแแแ แแแแแ แแแแแแ แแแแฎแแ แชแแแแแแแก แแแขแแแแแแ แแแแแกแแแ.
แฃแคแ แ แแแแแแ แแฅแแแแแแ, แแฃ แกแแแชแแคแแแแชแแ แกแแแ แแแ แแ แแแแชแแแแ แแแแฎแแ แชแแแแแแแก แแแขแแแฃแ แแฆแฌแแ แแก. แแแคแแ แแแชแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฌแแ แแแแแแแแก แแแ แขแฃแแแฃแ แ แแแแฅแแแ แแแแแก แแแกแขแแก, แฃแคแ แ แแแขแแ แแแแแแขแแแก แแแแแแแแแ แแแก, แ แแแแแแแช แฅแแแแแ แแแแแแ แแแแขแ แแฅแขแแแก TON แแแแขแคแแ แแแกแแแแก, แแแแ แ แแแแฎแแแ แแแ แแแ.
แแแฅแกแ: แแ แแแฅแขแแก แจแแแแแแ
Serokแแแจแ แฉแแแ แแแแ แแฃแแจแแแแขแแแแ แแแ แแแ แ
แแแแขแแ แแแแแฌแงแแ แจแแแแฅแแแแแแแ
$ cd ~/.config/nixpkgs/overlays && git clone https://github.com/serokell/ton.nix
$ cd /path/to/ton/repo && nix-shell
[nix-shell]$ cmakeConfigurePhase && make
แแแแแแแแแกแฌแแแแ, แ แแ แแฅแแแ แแ แแญแแ แแแแแ แ แแแแ แแแแแแแแแแฃแแแแแก แแแงแแแแแ. แแแฅแกแ แฏแแแแกแแฃแ แแ แแแแแแแแแก แงแแแแแคแแ แก แแฅแแแแแแแก, แแแฃแฎแแแแแแ แแแแกแ, แแงแแแแแ NixOS-แก, Ubuntu-แก แแฃ macOS-แก.
แแ แแแ แแแแ แแแ TON-แแกแแแแก
แญแแแแแแ แแแแขแ แแฅแขแแก แแแแ TON แฅแกแแแจแ แแฃแจแแแแก TON แแแ แขแฃแแแฃแ แแแแฅแแแแแ (TVM). TVM แฃแคแ แ แ แแฃแแแ, แแแแ แ แกแฎแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแแแก แฃแแแขแแกแแแ แแ แแฅแแก แซแแแแแ แกแแแแขแแ แแกแ แคแฃแแฅแชแแแแแ แแแ, แแแแแแแแแ, แแแก แจแแฃแซแแแ แแฃแจแแแแ แแแแ แซแแแแแ ะธ แแแฃแแแแ แแแแแชแแแแแแแ.
แฃแคแ แ แแแขแแช, TON-แแก แแแญแแแแ แจแแฅแแแแก แกแแแ แแฎแแแ แแ แแแ แแแแ แแแแก แแแ:
แแแฎแฃแแ แแ แแก แฃแแแแแ แกแแแฃแ แ แกแขแแแแก แแ แแแ แแแแ แแแแก แแแ, แ แแแแแแช แฌแแแแแแก
FunC แแ แแก แญแแแแแแ แแแแขแ แแฅแขแแก แแ แแแ แแแแ แแแแก แแแ, แ แแแแแแช แแกแแแแกแแ
แแแฎแฃแแ แแกแแแแแแแ แ โ แแแฎแฃแแ แแแแแแแแแแ TVM-แกแแแแก แแแแแ แฃแแ แจแแกแ แฃแแแแแแ แแแแแก แแแแแ แแ แแแแกแแแแก. แแแฎแฃแแ แแกแแแแแแ แก แแ แแฅแแก แแแแแแแแ แ. แแก
แฉแแแแ แแแแแฃแ แกแ แแฃแจแแแแก
แแแแแแแก, แแ แแ แแแแแแฎแแแแ แฉแแแแ แซแแแแกแฎแแแแแก แจแแแแแแแก.
แแกแแแฅแ แแแฃแแ แแแแแฎแแแก แแ แฎแ
แแแแแฎแแแก แแ แฎแ แแ แแก แญแแแแแแ แแแแขแ แแฅแขแ, แ แแแแแแช แกแแจแฃแแแแแแก แแซแแแแก แแ แแแแฎแแแ แแแแแก แแแแแแแแแแก แแแแแฎแแแแ แแแแแฉแแแแแก แแแ แแ. แจแแแแแแ, แแฅแแแ แแแแแแแแ แแ แ แแฎแแแแ แคแฃแแก (แแ แแ แแก แกแแแแแแกแแ), แแ แแแแ แแ แแกแแช (แแฅแแแ แแ แฃแแแ แแแแแแแแ แจแแแแแแ แแแแแแก แแแแฃแจแแแแแแก). แแแแแฎแแแแ แจแแแซแแแแ แแงแแก แ แแแแ แช แแชแแ แ, แแกแ แฎแจแแ แแ, แ แแแแ แช แกแแญแแ แแ. แแ แจแแแแฎแแแแแจแ แแฎแแ แแแแก แแ แฃแฌแแแ แแ แแแแแแแแก แแแแแ, แแแแแแแแ แกแแแแแแ แแแแแ แแจแกแฌแแ แแแแก แกแแแแ แแแแแแแแ แแแ แแแขแแ แแแฃแแแ แญแแแแแแ แแแแขแ แแฅแขแแ.
แฉแแแ แแฆแแแแแฉแแแแ แแ แแแแแแแก แกแแแแแแ แแแ แขแแแ แแแแแกแแแแแ. แแ แแฎแแ แแก แจแแฃแซแแแ แแแชแแแแแก แฎแแแแแฌแแ แแแ แจแแขแงแแแแแแแแแ, แแแแแแฃแแ แจแแแชแแแก แแ แแแแแ แก - แแแแแแฃแแ แแฎแแ แแก แแแแ แแแแแฎแแแแ แกแ แฃแแ แแแแฎแ. แแก แแ แ แชแแคแ แ แแฃแจแแแแก แแกแ
แคแแฅแขแแแ แแแแ, แแ แแแแแก แแแแกแแฎแแ แชแแแแแแแแ แแ แแ แ แแชแฎแแแช แกแแแแแ แแกแแ, แแแแ แแ แแ แแแ แแแแขแแแแ, แ แแแแแ แแ แแแแ แจแแแแแซแแ แฃแคแ แ แแแกแแฎแแ แฎแแแแแ แแแแฎแแแ แแแแแก แแแขแแ แคแแแกแแก แจแแฅแแแ. แแแ แแ แแแแกแ, แแแแแแฌแงแแแขแแ แแแแแแฃแ แจแแขแงแแแแแแแแจแ แจแแแแแขแแแ แแแแแฎแแแก แแแแฎแ. แแแแก แแแ แแจแ, แแฃ แจแแขแงแแแแแแแ แ แแแแ แแแแแแแ แแแแแแ แแแแ, แแแจแแ, แแแฃแฎแแแแแแ แแแแกแ, แ แแ แงแแแแ แแแแฎแ แแ แกแแแแแแ แแแแแแแ แแจแแแ แกแฌแแ แ แแฅแแแแ, แแแแฎแแแ แแแแแแ แจแแแซแแแแ แแแ แจแแแแฉแแแแก แแแ แแแ.
แฉแแแแ แแแแแก แจแแกแแแแฌแแแแแแ, แฉแแแ แแแแซแแแแแ แแกแแแ แแแ แขแแแ แแ แแแแแแฃแ แ แแแแแฎแแแก แแ แฎแแก แแ แแขแแแแแแก แแแแแงแแแแแแก แแแแแแแแแแ. แแแกแแแแแ แแ, แ แแ แฉแแแ แแฆแแแแแฉแแแแ แแฎแแแแ แแ แ:
แแฆแฌแแ แ แแกแแแแกแ แแแแแแแ, แแฎแแแแ แชแแแแฎแ แแแ แแ แฎแแก แจแแแแฎแแแแแจแ.แกแแฎแแแแซแฆแแแแแแ , แ แแแแแแช แแฆแฌแแ แก แแแแแ แแแแแก, แ แแช แฉแแแแกแแก, แแแแ แแ แแแแ แ แแแแจแแแแแแแแแ แแแขแแแแก แแฎแกแแแก แแแ แแจแ, แ แแแแ แแชแแ แแแแแแ แกแแกแฌแแ แ แแ แแแแคแแแฅแขแแก แแแแแแ แแแแก แแ แแชแแแฃแ แแแ.
แแแแ แแแ, แ แแ แแแ แ แแฅแแก แฉแแแแ แแ แแขแแแแแแก แแแขแแแฃแ แแ แแฆแฌแแ แแก, แแแแกแแแฃแแ แแแฃแแ แงแฃแ แแแฆแแแแก แแแฅแชแแแแ แแแก แกแแกแฌแแ แแก. แ แแแแแแแแ แแแแแแ แแแแก แจแแแแแ, แกแแแชแแคแแแแชแแ แแแแ แแงแ แแ แแฎแแ แแฅแแแแช แจแแแแซแแแแ.
แฉแแแ แแแแแแฎแแ แชแแแแแ แแแแขแ แแฅแขแ FunC-แจแ แแ แแแแฌแแ แแ แแ แซแแแแแแก แฎแแแ แฉแแแแก แแแแขแ แแฅแขแแแ แแแขแแ แแฅแชแแแกแแแแก แแแแแแแแ Fift-แจแ, แ แแแแ แช แแแแก แแ แแแแแแแขแแ แแแ แแแแ แฉแแแแ. แฉแแแ แจแแแแแซแแ แแแ แฉแแ แแแแแกแแแแ แ แกแฎแแ แแแ แฉแแแแ CLI-แกแแแแก, แแแแ แแ แแแแแแขแแ แแกแแแแ Fit-แแก แแ แแฅแขแแแแจแ แจแแกแ แฃแแแแ.
แแแ แแแแ แแแแฎแ แแ, Fift-แแแ แแฃแจแแแแแก แจแแแแแ, แฉแแแ แแแ แแแแแแแฎแแ แ แแแแ แแแแแฏแแ แแแแแ แแแแแแ, แ แแ แแ แแแแก แแแแฏแแแแแแ แแแแฃแแแ แฃแ แแ แแฅแขแแฃแ แแ แแแแแงแแแแแฃแ แแแแแแ, แแแแแแแแ แแแฃแแ แฎแแแกแแฌแงแแแแแแ แแ แแแแแแแแแแแแแ. แกแขแแแแ แแแคแฃแซแแแแฃแ แแแแแ แแ แแแ แแแแ แแแ แกแแแแแแ แฃแกแแแแแแแแ, แ แแแแแ แแฅแแแ แแฃแแแแแแ แฃแแแ แจแแแแแฎแแ แแฅแแแแก แแแแจแ แแก, แ แแช แแแกแขแแแแ, แแ แแแแแแแแ แ แแแแจแ แแ แแแฎแแแ แแแแ.
แแแแขแแ, แฉแแแแ แแแ แแ, Fift-แแก แแ แกแแแแแแก แแ แแแแแ แแ แแแกแแแฃแแแแ แแ แแก Fift Assembler-แแก แแแกแแแแซแแแ แแแแก แ แแแ. แแแแ แแ แแ แแฅแแแแ แฃแแแแแกแ TVM แแกแแแแแแ แแก แฉแแกแแ แ แแแแแแแ แแ แกแแแฃแ แแแแแ, แแแแ แ แแฎแแแก แแแแแแแแแแ แแ แแ แกแแแแแแ แแ แแแแแ แแ แแแแแแกแแแแก?
TVM Haskell eDSL
แแฎแแ แแ แแ แแแกแแฃแแ แแ แฉแแแแก แแแแ แ แญแแแแแ แแแแขแ แแฅแขแแ. แฉแแแ แแแแแแฌแงแแแขแแ แจแแแแแฅแแแ แแ แแแแแฎแแแแแฌแแ แแแแ แกแแคแฃแแ, แแแแ แแ FunC-แจแ แแแแแ แแ แแ แญแแแแแแ แแแแขแ แแฅแขแแก แแแฌแแ แ แซแแแแแ แแแกแแฌแงแแแ แแฅแแแแแแ. แแแแแแแแ แจแแแแแแแขแแแแแ แแแ แแแแฃแแ แแ แแแแขแ แแ แแก แแงแ แฉแแแแ แกแแแฃแแแ แ แแกแแแแแแแก แแแ TVM-แแกแแแแก.
Fift Assembler-แแก แแกแแแแกแแ, แฉแแแแ แแฎแแแ แแแแช แฉแแจแแแแแฃแแแ, แแแแ แแ แฉแแแ แแแแ แฉแแแ Haskell, แ แแแแ แช แแแกแแแแซแแแ Fift-แแก แแแชแแแแ, แ แแช แกแแจแฃแแแแแแก แแแแซแแแแก แกแ แฃแแแ แแแกแแ แแแแแแ แแแกแ แแแฌแแแแแ แขแแแแก แกแแกแขแแแแ. แกแแแ แข แแแแขแ แแฅแขแแแแแ แแฃแจแแแแแกแแก, แกแแแแช แแฃแแแแช แแชแแ แ แจแแชแแแแแก แฆแแ แแแฃแแแแ แจแแแซแแแแ แแงแแก แซแแแแแ แแแฆแแแ, แกแขแแขแแแฃแ แ แแแ แแคแ, แฉแแแแ แแแ แแ, แแแแ แฃแแแ แแขแแกแแแแ.
แแแแก แแแแแแกแขแ แแ แแแแกแแแแก, แแฃ แ แแแแ แแแแแแงแฃแ แแแ TVM แแกแแแแแแแ แ, แ แแแแแแช แฉแแจแแแแแฃแแแ Haskell-แจแ, แฉแแแ แแแกแแ แแแแแงแแแแ แกแขแแแแแ แขแฃแแ แกแแคแฃแแ. แแฅ แแ แแก แ แแแแแแแแ แ แแ, แ แแกแแช แงแฃแ แแแฆแแแ แฃแแแ แแแแฅแชแแแ:
- แแก แแแแขแ แแฅแขแ แจแแแแแแ แแ แแ แคแฃแแฅแชแแแกแแแ, แแแแ แแ แจแแแแซแแแแ แแแแแแงแแแแ แ แแแแแแแช แแกแฃแ แ. แ แแแแกแแช แแฅแแแ แแแแกแแแฆแแ แแแ แแฎแแ แคแฃแแฅแชแแแก แแแกแแแแซแแ แแแแแ (แแแ. Haskell), แฉแแแแ eDSL แกแแจแฃแแแแแแก แแแซแแแแ แแแ แฉแแแ, แแกแฃแ แ แแก แแแฎแแแก แชแแแแ แ แฃแขแแแ TVM-แจแ แแฃ แฃแแ แแแแ แฉแแ แแฃแแ แแงแแก แแแแแซแแฎแแแแก แแแแแแแ.
- แฐแแกแแแแแก แแกแแแแกแแ, แคแฃแแฅแชแแแแก แแฅแแ แขแแแแแ, แ แแแแแแแช แจแแแแฌแแแแฃแแแ แแแแแแแแชแแแก แแ แแก. แฉแแแแก eDSL-แจแ, แคแฃแแฅแชแแแก แจแแงแแแแแก แขแแแ แแ แแก แแแขแแก แขแแแ, แ แแแแแกแแช แคแฃแแฅแชแแ แแแแแแก, แฎแแแ แจแแแแแแก แขแแแ แแ แแก แแแขแแก แขแแแ, แ แแแแแแช แฌแแ แแแแฅแแแแแ แแแแแซแแฎแแแแก แจแแแแแ.
- แแแแก แแฅแแก แแแแขแแชแแแแ
stacktype
, แแฆแฌแแ แก แแแกแแแแแแแ แกแขแแแแก แขแแแก แแแแแซแแฎแแแแก แฌแแ แขแแแจแ. แกแแคแฃแแแก แแแแแแแแ แแแ แแแแขแ แแฅแขแจแ แแก แแฎแแแแ แแแแแแขแแ แแแ แแงแ, แแแแ แแ แฉแแแแก eDSL-แจแ แแกแแแ แ แแแแฃแ แแ แแแแแก แแแฌแแแแ แแ แจแแแแฌแแแแฃแแแ แแแแแแแแชแแแก แแ แแก. แแกแแแ แจแแแซแแแแ แแงแแก แแแแฃแแแแขแแชแแ แแ แแแแชแฎแแแแแแแ, แ แแแแแแแช แแฎแแแ แแแ แแแแแแแแแ แก แแ แแแแแแแก แแแแแแจแ, แแฃ แแแแ แจแแแชแแแแแ แแ แจแแแชแแแแแ แกแขแแแแก แขแแแ. แ แ แแฅแแ แฃแแแ, แแกแแแ แแแแขแแชแแแแ แแแแแแแแก แแ แแแแฎแแแแก แแแจแแแแแก แแ แแแ, แ แแแแแ แแแแแแแก TVM แแแแ แแ แแ แแก แแแแแ แแ แแแฃแแ. - แแก แฏแแ แแแแแ แแ แแแแ แแจแ แแแฌแแ แแแ แแ แแขแแขแแแแ, แแแแขแแ แแ แแแฅแขแแ แฏแแ แแแแแ แแแแ แแ แกแแแฃแจแแ. แแแแแแแแแ, แแแแกแแแแก แงแแแแ แแแแแแแแ, แ แแแแแกแแช แฎแแแแแ แฅแแแแแ แแแชแแแฃแ แแแแจแ, แแแขแแแแขแฃแ แแ แฃแแแ แแแแแ แแ แแแก.
แแกแ แแแแแแงแฃแ แแแ multisig แกแแคแฃแแแก แแแแแ แแแ แฉแแแแก eDSL-แแ:
main :: IO ()
main = putText $ pretty $ declProgram procedures methods
where
procedures =
[ ("recv_external", decl recvExternal)
, ("recv_internal", decl recvInternal)
]
methods =
[ ("seqno", declMethod getSeqno)
]
data Storage = Storage
{ sCnt :: Word32
, sPubKey :: PublicKey
}
instance DecodeSlice Storage where
type DecodeSliceFields Storage = [PublicKey, Word32]
decodeFromSliceImpl = do
decodeFromSliceImpl @Word32
decodeFromSliceImpl @PublicKey
instance EncodeBuilder Storage where
encodeToBuilder = do
encodeToBuilder @Word32
encodeToBuilder @PublicKey
data WalletError
= SeqNoMismatch
| SignatureMismatch
deriving (Eq, Ord, Show, Generic)
instance Exception WalletError
instance Enum WalletError where
toEnum 33 = SeqNoMismatch
toEnum 34 = SignatureMismatch
toEnum _ = error "Uknown MultiSigError id"
fromEnum SeqNoMismatch = 33
fromEnum SignatureMismatch = 34
recvInternal :: '[Slice] :-> '[]
recvInternal = drop
recvExternal :: '[Slice] :-> '[]
recvExternal = do
decodeFromSlice @Signature
dup
preloadFromSlice @Word32
stacktype @[Word32, Slice, Signature]
-- cnt cs sign
pushRoot
decodeFromCell @Storage
stacktype @[PublicKey, Word32, Word32, Slice, Signature]
-- pk cnt' cnt cs sign
xcpu @1 @2
stacktype @[Word32, Word32, PublicKey, Word32, Slice, Signature]
-- cnt cnt' pk cnt cs sign
equalInt >> throwIfNot SeqNoMismatch
push @2
sliceHash
stacktype @[Hash Slice, PublicKey, Word32, Slice, Signature]
-- hash pk cnt cs sign
xc2pu @0 @4 @4
stacktype @[PublicKey, Signature, Hash Slice, Word32, Slice, PublicKey]
-- pubk sign hash cnt cs pubk
chkSignU
stacktype @[Bool, Word32, Slice, PublicKey]
-- ? cnt cs pubk
throwIfNot SignatureMismatch
accept
swap
decodeFromSlice @Word32
nip
dup
srefs @Word8
pushInt 0
if IsEq
then ignore
else do
decodeFromSlice @Word8
decodeFromSlice @(Cell MessageObject)
stacktype @[Slice, Cell MessageObject, Word8, Word32, PublicKey]
xchg @2
sendRawMsg
stacktype @[Slice, Word32, PublicKey]
endS
inc
encodeToCell @Storage
popRoot
getSeqno :: '[] :-> '[Word32]
getSeqno = do
pushRoot
cToS
preloadFromSlice @Word32
แฉแแแแ eDSL แแ แแ แแแแแฎแแแแแฌแแ แแแแ แกแแคแฃแแแก แแแแขแ แแฅแขแแก แกแ แฃแแ แฌแงแแ แแก แแแแ แจแแแแซแแแแ แแฎแแแแ แแฅ
แแแกแแแแแแ แแแแแฃแ แกแแกแ แแ TON-แแก แจแแกแแฎแแ
แกแแแ แแ แฏแแแจแ, แฉแแแแก แแฃแจแแแแแก 380 แกแแแแ แแแกแญแแ แแ (แแแ แจแแ แแก, แแแแฃแแแแขแแชแแแก แแแชแแแแ, แจแแฎแแแแ แแแ แแ แคแแฅแขแแแ แแแ แแแแแแแแ แแแ). แแแแแฃแ แกแแก แแ แแแฅแขแจแ แแแแแฌแแแแแแ แแแแฆแ แฎแฃแแแ แแแแแแแแแ แแ: CTO, แแฃแแแแก แแแแแ แ, แแแแแฉแแแแแก แแแแขแคแแ แแแก แกแแแชแแแแแกแขแแแ แแ Haskell แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแแแแแแแ แแแ.
แฉแแแ แแแแแแแแ แ แแกแฃแ แกแแแ แแแแแฃแ แกแจแ แแแแแฌแแแแแแแกแแแแก แฃแแ แแแแแแแ, แ แแแแแ แฐแแแแแแแแก แกแฃแแ, แแญแแแ แ แแฃแแแฃแ แ แแฃแจแแแแ แแ แแฎแแแ แขแแฅแแแแแแแแแแก แแกแแแฅแขแแแจแ แกแฌแ แแคแแ แฉแแซแแ แแแก แแฃแชแแแแแแแแ แงแแแแแแแแก แกแแแแขแแ แแกแแ. แ แแแแแแแแ แฃแซแแแ แฆแแแ แจแแแฆแฃแแฃแแ แ แแกแฃแ แกแแแแก แแแ แแแแแจแ แแแฅแกแแแแแฃแ แ แจแแแแแแก แแแกแแฆแฌแแแแ แแแแแฆแแฃแ แแแแ แคแแกแแแฃแแแแแแ แแแแแชแแแแแแแ แแ แจแแกแแแแจแแแแ แแแแแแแแแแแ. แแแ แแ แแแแกแ, แแกแแ แแแแชแแแแแแ แแฃแจแแแแ แงแแแแแแแแก แแ แแก แแแแแแแแแก แแ แแชแแกแแแแก แแแ แแ แแแแแชแแ, แ แแแแแ แซแแแแแ แ แแฃแแแ แญแแจแแแ แแขแแ แฆแแ แกแแฃแแ แจแแแแแแแแก แแแฆแฌแแแ แแแ แแแ แคแฃแแฅแชแแแแแ แแแแก แจแแแ แฃแ แแแแ แแฅแแแแแแแก แแแ แแจแ.
แขแแฅแกแขแ แแแแแ: แฉแแแ แจแแแแแญแแแแแแ แแแแฎแแแแ TON-แแก แแฃแแแแก แแแแ แแแฌแแฃแแ แกแแแฃแจแแแก แแแชแฃแแแแแ. แแแ แแแแฎแแ แฎแแก แ แแฃแแ, แแแแแแ แแ แ แแช แแแแแแ แแ แแฃแจแ แกแแกแขแแแแก แแแแแ. TON-แแ แแแแแขแแแชแ, แ แแ แแ แแก แแแแขแคแแ แแ แแแแ แแแขแแแชแแแแแ. แแฃแแชแ, แแแแกแแแแแก, แ แแ แแก แแแแกแแกแขแแแ แแแแแแแแ แแแก, แแแแแ แแแแ แ แ แแ แแ แแก แแแกแแแแแแแแแ, แ แแแแ แช แแแแแฉแแแแแก แแ แแแฅแขแแแจแ แแแกแ แแแแแงแแแแแแก, แแกแแแ แแแแแแแแ แแแแก แแแกแขแ แฃแแแแขแแแแก แแแฃแแฏแแแแกแแแแก แแแแแกแแแ แแกแแ. แฉแแแ แแแแแงแแแ, แ แแ แแฎแแ แแแ แ แแ แแ แแชแแกแแก แแแฌแแแ.
แแฃ แแ แกแขแแขแแแก แฌแแแแแฎแแแก แจแแแแแ แแแแแ แแแฅแแ แ แแแแ แจแแแแแฎแแ แแ แแแฅแแ แแแแแแ, แแฃ แ แแแแ แแแแแแงแแแแ TON แแฅแแแแ แแ แแแแแแแแแก แแแแแกแแญแ แแแแ,
แฌแงแแ แ: www.habr.com