α’ααααααα ααααΆααααΆααααΊααΆ Telegram . ααα»ααααβα’αααβαααα ααβααΆβααΆαβααβααΆαβααααααΆαβαααβαα·αβααΆαβααΌαβααβα αΎαβαααα»αβαααααα·ααΈ Telegram αααααΆααααΆαα’αα»αααααα·α αα αααααΆααααΆααααα½α α¬α αααΎααααααΆαααααα·ααΆαααα
αααα»α Serokell αααααΆααααα·ααααααααΆαααΌααααΌααΆααααα»αααΆαα’αα·αααααααααααα blockchain αααα·αα’αΆα αααα ααααΆαααΆαααα ααΎαααΆαα αΆααααΆαααα»ααααα·αααααΆαααΆααα±ααα αΌααα½ααααα»αααΆαααααα½α α αΎαααΈααααααΆα αααααααααα½αααααΆαααΆααα αααΆααααααΆααααα 1 αα αααα»αααΆααααααααααα α αααα α ααααααα·α αα½α (αααα»α) Sexy Chameleon α αα αααα»αα’αααααααααααα»αααΉααα·ααΆαα’αααΈααααααααα½αααααΆαααααΎααΆα ααΎααααααΉαααΆαααα»ααααααααααααΆααΈαααααΆαα αααΆαα αα ααΆααα’αααααΉαααΆαα’αΆαααΏααααα½αα±ααα αΆααα’αΆαααααααα½α α αΎαααΆαα αααΎαα’αααααΉαααααΎαα’αααΈαααααΆααααααααααα αααα»αααΆ αααα’αααα’αΆα α’αα»αααααααα»αααΆαααΆαααααα’αααα
ααα»ααααααΌαα αΆααααααΎαααΆαα½αααΉαααα·ααααΌα αα½αα
ααΆαααααα½ααααααααα·αααααααααααααααΆα
ααΌα αααα ααΆααα·α αα α ααααααααα’αααα αΌααα½αααΊααΆαα’αα»αααααα·α αα αααααΆααααΆααααααααΆαααααΎα‘αΎααα½α α¬α αααΎα ααααΌα ααΆααΆαααααΎααααΎααΎααααΈαααααα’ααααααααα’αααΌα‘αΌαααΈ TON α ααΆαααααα½αααΆαααααΎαααΆαα αΆααααΈααααααΈ 24 αααααααΆαααααααααΈ 15 αααα»ααΆ α αΎαααααααααααΌαααΆααααααΆαααααΉαααααααΈ 15 αααα·α ααα·ααΆααα»αααααα ααΌαααΆααααα αΎα ααααα·α αΆαααΆααΆ αααα»αα’αα‘α»ααααααα Telegram ααΆαααααααααα αα·ααααααΆαααααααααααΆαααααα½αααααααααΎααΆααα ααΆ αα·αααΆαα’αα·αααααααααααα·ααΈαα αααα»α C++ αααααΆααααΆααααα αα·αααΆαααααααα»αααΆαααααΆαα α VoIP αα αααα»α Telegramα
ααΎαααΆαααααΎαααΎααα·α αα αααααΆααααΆαααα ααα½αααΈαααΈαααααΈαααααΆαααααΎα‘αΎααααα’ααααααα αα αααααΆαααα½ααααα»αα αααααα½ααα ααΎαααΆαααααΎα§ααααααααα ααα αΆαααΆαα½α TON α αΎαααΈααΈαααααΌαααΆαα’αα»ααααααΆααΆααΆααααΈαααααααΌαααΆααααααΎαα‘αΎαααααα·αααααααααααΎαααΆαα·ααααααααΆαα TON α αΎαααΆααααααΎαα‘αΎααα αααα»α Haskell α
αααααΎαααααΆααΆααααααααααα·ααΈαααααΆααα»αααΆαααΊαα·αα αααααααα αα αααα»αααααααΎαα ααΎαα αααΎααααα·ααΆαα’αααΈααΌαα ααα»αααααΎααα·αααΆααΆααααα»αααααΆαααααΆααΆαα»αααΆαααΊααΆααΆαααααααΎααααα α αΎαα ααα»α’αααΈααΆαααΆααΎαα αΌαα α·ααααα½αααΆα ααααααΆααΆααααααααααα·αα ααααα·ααΈαααααΆααααΆααααααα .
α ααα»α’αααΈααΆαααΆααΎααααααα α α·αααα αΌααα½α?
ααα»ααα αααααΆαα―ααααααααααΎαααΊααΆαααααααα·ααααααααΆα αα·ααααα»αααααΆααααααΆαααΆαααααΆααα·ααα α αΎαααΆααΏααααΆααααααααΆααα·ααααΆααΆααααααααααΆαααα αααα IT α ααΎαααΆαααααααΆαααααΆααα ααααααΆαα’αα·αααααααααααααΎαα αα α αΎαααΆαα αΌααα½ααααα»αααΆαααααα·ααααααααΆ α αΎααααα ααΆαααΆαα½αααΆαααα·ααααΆαααααΆααα»ααααααααα»αααααΈαααα»ααα·ααααα·ααααΆααΆααααααα»αααααΌααα αα·αααα·ααα·ααααΆαααααα
ααΆααα·α αα αα½αα±ααα αΆααα’αΆααααααααααΆαααααα½ααααααα αα·αααΆαα αΌααα½ααααα»ααααααα Telegram ααΆααΈαααα‘αΆααααααααΎαααΊαα αααα»ααααα½ααα½αααααααΆααααΆααΆαααΎαααΉαα α·αααααααα’ ααα»ααααααΌααα·αα·αααααΆααααΆαααααΆαααΆααΆαααΎαααΉαα α·αααααααααα π
ααΆαααααΆαααααΆα blockchain TON
ααΎαααΆαααΆααααΆααα·ααααααΌαααΆαα’αα·ααααααααααΈααα αααα»α blockchain αααααΆαα·ααααα·αααα·α αα·αααΆαααααααΆαααΈα α αΎαααααΆααΆααα·αα±ααααααΆαααΆαα ααααααΆαααααααΆαααα½ααα αααα»ααααααααΈαα½αααααααΎαααααΎααΆαα ααΌα ααααβα αΎα αα βαααβαααβααΆαβααααα½αβααΆαβα αΆααβααααΎα αααα»αβααααβααΎαβααΆαβααααΆααβαα½α βα αΎαβααΌαβαααα·αβααΈβ . αααααΆαααΆαααΆααααααα»ααααα αΆααααααΎαααΆαααΆαααΆαα½α TON ααΎααα·αααΆααα·ααΆαα―αααΆααα αα ααααααα·αααΌαααααααα·αααααΆαααααααα·ααΆαααααααΌα ααααααα αΆαααααΌαααΊααΆααααααα - ααΆααα·ααααΆα ααααα ααααα―αααΆαααααΌαααΆααα ααΎ αα·ααα αααα»α .
αα αααααΆαααααα½αααααααα αΆααααααΎα ααΌαααααΌαααΆαααααα»ααααα½α α αΎα ααΌα ααααααΎααααΈααααααααααααΆ ααΎαααΆααααααα α α·ααααααααααααΆαααααΆα α¬ααα ααααΈααααααααααααααααα αααα’αααααααΎααααΆαα. ααΆα’αα»αα ααΆαα·αααΆααααααααααααα’αααΈαα - αααα ααΈααΆαααααΆααααααΆααααΆααααα»ααααα·ααΆαα ααΎα’ααΌααα»αααΌ ααΎααα·αααΆαααααΎααααααΆααααααααααααα
α―αααΆααααα½αα―αααααΌαααΆαααααΆαααααΆααααΆαααα’ ααα»αααααα·ααΆαα’αΆααααα»ααααααααααα ααΆααΉααα ααΎαααααΌααααααααααα α ααα»α ααΆααααΆαααα½ααα·α α αΎαααααΌαααΈααΆααα·αααααΆααααα·αααααααααααα·αα’ααΌααΈ αα ααΆααααααΆααααα’α·αααααΆαα’αα»ααααααααα·αααΆαα
ααΆααΉαααΆααααααΆααααα½α ααααα·αααΎααΆααααααΆαααα·ααα½ααααα αΌαααΆααα·αααααΆαααα’α·αααααΆαα’αα»ααααααΆαααααααα ααααααΆαα’αααΈααααααααααΆαααΈααα·αααα·αααααΆαα±αααααααααααΆααααααΆααααΆαα’αααα’αα·αααααααααα»αααΆααααααΎααα·α αα αααααΆααααΆααααααααΆαααααα·ααΆ TON ααΆααΆααα½ααα½αααα
Nix: ααΆααααααααααΆαα½αααααΆ
αα Serokell ααΎαααΆα’αααααΆαααααααα . ααΎααααααΌαααααααααααααΎαααΆαα½αααΆ α αΎαααΆααα±αααα½αααααααΎααααΆαα αα·αααΆαααα‘αΎααα ααΎαααΆαααΈαααααααααΎαααΆααα’ααα . ααΌαα’ααα»αα αααααααα αΆααα ααΆααααΆαααααΆαααΆααααααΎαααΊα’αΆα ααα·αα‘αΎααα·αααΆα α αΎαααααΎαααΆαααΎααααααααααααα·ααααα·ααΆαααΆαα½αααα Nix α’αΆα ααααΌαααΆαααα‘αΎαα
ααΌα ααααααΎαα αΆααααααΎααααααΆααααααΎα . αααααΆααααα½αααααααΆ ααΆαα ααααα TON ααΊααΆααααααΆααααα’αΆα ααααΎαα ααΆαα
$ cd ~/.config/nixpkgs/overlays && git clone https://github.com/serokell/ton.nix
$ cd /path/to/ton/repo && nix-shell
[nix-shell]$ cmakeConfigurePhase && makeα αααΆαααΆα’ααααα·αα αΆαααΆα αααα‘αΎαααΆαα’αΆαααααααΆαα½αααα Nix ααΉαααααΎα’αααΈαααααααααΆααααΆαα’ααα αΆααααααααΆααα’ααα αα·αααΆα’ααααααα»αααααΎ NixOS, Ubuntu α¬ macOS ααα
αααααα·ααΈαααααΆαα TON
αααααΌααα·α αα αααααΆααααΆααααα αααα»ααααααΆα TON ααααΎαααΆαααΎαααΆαααΈααα·αααα·α TON (TVM) α TVM ααΆαααΆααααα»αααααααΆαααΆααααΆαααΈααα·αααα·ααααααα α αΎαααΆααα»αααΆααα½αα±ααα αΆααα’αΆααααααααΆα§ααΆα ααα ααΆα’αΆα ααααΎααΆαααΆαα½αααΆαα ααΆααααα ΠΈ αααααααΆαααα αα·αααααα.
ααΎαααΈααααα ααα αα»ααααααΈ TON ααΆααααααΎαααΆααΆααααααααααα·ααΈααααΈα ααα½αααΈα
α αααΈα αα ααΊααΆααΆααΆαααααα·ααΈαααααΆααααααααααααααΉα . αααααααΆαααα’ααα αΆαααααααααΆααααΊαααααααΆααααα»αααΆαααααΆαααααααΆααααααΆαα½α TVM α
FunC ααΊααΆααΆααΆααααααααααα·ααΈαα·α αα αααααΆααααΆααααααααααααααΉα α αΎαααααΌαααΆαα αααααααΆααΆααΆαα½ααααααααα - Fift Assembler α
αααα»αααΈααααΆα - αααααΆαααα ααα½αααααΆααααααΆαααααααΎαααΌααααα’αΆα ααααα·ααααα·ααΆααααααααααααααΈααααααΆαα TVM α Fifth Assembler αα·αααΆαα’αααα αααααααα αααα .
ααΆαααααα½αααααααααααααΎαααααΎαααΆα
ααΈαααα»α ααααααααααΌαααΎααααααααααα·α αα αα·αααααααΉααααααααααααΎαα
ααΆαααααΌααΆααα’ααααΆα
ααΆαααααΌααΆααααΊααΆαα·α αα αααααΆααααΆααααααα’αα»ααααΆαα±ααα’αααααααΎααΈαααΆααααααΎααΆαααΌααΆαααα ααΆααααα blockchain α ααΆαααααα α’αααααααααα·αααααΉαααααααΆαααα (αα·αααΆααααααααΎαααΆα) ααα»ααααααααΆααααααααΆααααα (α’ααααα·αα αΆαααΆα ααααα αΆαααααΎαααΆααααα»ααααααΆααααα)α ααΆαααΌααΆααα’αΆα ααΆαααα αααΌα ααΆαααΆαα ααααΆα αα·αααΉαααΆααααΆααααααΌαααΆαα αααα»αααααΈαααααΆααΈαα·αααααΌααα»αα α·αααααααΆαα αα·ααα αααααααααααΆααΆααα»αααα·ααααααααααααααΆαα α»ααααααααααΌαααΆαααΆααΆααααα·α αα αααααΆααααΆαααα
ααΎαααΆαααααΎααααααααααΆαααααΆαααααα½αα αααααααα αΆα ααΆααΈααΆααααΈαα’αΆα ααααΆααααααΌαααΆααααααΆαα αααααααΆ αααααΈαα½ααααΆααααααΈα αααααΆα ααα½αααααααααΆαααααααααΆααΈααΈαα½ααα αααααΆααααΈααααααααΎαααΆαααΌα αα αααα»αααααααααα ααα αΆααααααααΈ αα·ααααααααΆααααααΆαα·α "ααΆαααΎαα‘αΎααα»α" ααΎααααα·ααααα·ααΆαα αααααααΎαα·ααααααααα αα·α αα αααααΆααΉαα’αΆα αααααααΆααααααααααα’αΆα ααΎαααΆαα
ααΆααα·α ααααα½αααΊαααααααααΆααααΎααααΈα’αα»αααααααα·αααα ααα»ααααααΎαααΆαα αΆαα ααααΆααααΈα αααααΆααα·ααΈαααααΎαα’αΆα αααααΎαα ααα»α αααααΆααα’αααααααΎααΆααααααΆααααα½αα ααΎαααΈααα ααΎαααΆααααααα α α·ααααααα αΌαα ααα½αααΉαααααΆααααααΆααααααααΆαααα αααα»αααΆαααΈαα½ααα ααΎααααΆαααΆαα ααααα·αααΎααΆαααααΌαααΆαααΆααααααααα ααα»αααα½αα ααα½α ααααααααΈααΆααα·ααΆαααΆααα’αα αα·αααΆαααααΆα α»ααααααααΉαααααΉαααααΌαααααα α’αααααααΎααααΆαααααα ααααΆαα·ααααααααΆααααΆαααΆααααααααααα
ααΎααααΈααΆααααααααα·αααααααΎα ααΎαααΆααααααααα§ααΆα αααααααΆαααααΎααααΆαααα·ααΈααΆαααΆαααααΌααΆααααΆαααα αα·αααααααααααααα αα½αα±ααααααΆααααα’αΎα ααΎαααααΎαααααΈαααα»αααααα
- αα·ααΈααΆαααααααααααααααΆααααααααΆααααααααΈααααΆααα unidirectional αα½αα
- ααααα·αααααΆα’αααΈαααα·αααΌα ααααΆααΉααααα·αααααααΎαααα ααα»ααααααααα·ααααααααααα’α·αααααΆαααααΆα αααΎα ααΌα ααΆααΆαααααΉαααααΌαααΌαα αα·αααΈαα·αα·ααΈαααααααΆαααααααα
ααΆα αααΆααααΆααααΆααΆααα ααα»αααααα»αααΆααα·αααααΆαα·ααΈααΆαααααααΎααααΆααααα’α·α αααααα α·ααααα»αααΆααααΆαα·αααα ααααααΆαααααΉαααααΌαααααααΆα αααααΆααααΈααΆαααααΎαααααααααΆα αααΎα ααΆααααααΆααααΆαααααααα½α ααΆαα α αΎαα₯α‘αΌααααα’αααααα’αΆα ααααΎααΆααααα .
ααΎαααΆαα’αα»αααααα·α αα αααααΆαα αααα»α FunC α αΎαααΎαααΆααααααα§αααααααααΎααααΆαααααααΆααααΆααααααααΆαααααΆααα’ααααααααααΆαα½ααα·α αα αααααΆααααααΎαααΆαααααα»ααα αααα»α Fift ααΌα αααααΆαααααΆααααα’ααααααα αα ααΎαα’αΆα ααααΎαααΎαααΆααΆαααααααααααααΆαα CLI ααααααΎα ααα»ααααααΎαα αΆααα’αΆαααααααααα»αααΆαααααΆααΆα Fit ααΎααααΈααΎαααΈαααααααααΆααααΎαααΆααα αααα»αααΆαα’αα»ααααα
αα·ααΆαα±ααααααααα αααααΆααααΈααααΎααΆαααΆαα½α Fift ααΎααα·αααΎαα ααα»αααα½αα±ααααΆααααΆαααΆαα½ααααα»αααΆαα αΌαα α·αααααΆααΆααααα ααΆααΆααΆααααα·αα αα·αααααΎααααΆαααααΆααααααααΆαα½αααΉαα§ααααα αα·ααααααΆααααααααΆαα’αα·αααααααααα ααΆαααααααααααα·ααΈααΆααΆααΆαααααΆαααΌαααααΆαααΎαααααΊαα·αααΆαα·αααα’αα αααααα’αααααααΌααααααααΆα’αααΈαααααΆααα ααΎαααααΆαα·α αα α αΎαα’αααα ααααααα·ααα½ααααα»αααΏααααααα
ααΌα ααααααΆααααα·αααααααΎα αα»αααα·αααααααα½αααααααααΆααα’αααα·ααΆααα Fift ααΊαα½ααΆααΈααααααΆααΆααΆααΆαααΆαααΈααααααΆαα Fift Assembler α ααα»ααααααΎααΆαααααΎαααΆααααα»αααΆαααααααα§αααααααα‘αΎα TVM αα ααΆααΆααΆαααααΆαααααΆαα ααΆααΆααααααΎααααααα·ααΈααααΈαααααΆααααααααααααα½ααααααααα?
TVM Haskell eDSL
α₯α‘αΌααααααΆααααααα αΎαααΎααααΈαα·ααΆαα’αααΈαα·α αα αααααΆααααΆαααααΈααΈαααααααΎαα ααΎαααΆααααααα α α·ααααααααΎαααΆααΌααααααΆαα αααααααΆα αααΎα ααα»ααααααΆαααααααα·α αα αααααΆααααΆααααα½ααααααααααα αααα»α FunC ααΉααα½αα±αααα»ααααα ααΎαβα ααβααααααβααααΆαα·βαααα α αΎαβαααβααΆβααΆααΆβααα‘αΎαβααααβααΎαβααααΆααβαααααΆαα TVMα
ααΌα ααΆ Fift Assembler ααΆααΆααααΈααααααΎαααααΌαααΆααααααα ααα»ααααααΎαααΆαααααΎαααΎα Haskell ααΆαααΆαααΈααααα½αα±αα Fift αααα’αα»ααααΆαα±ααααΎαααΆαααα’αααααααααααααααααααΈααααααααααααααααααα·ααααααααααααΆα αα αααααααΎααΆαααΆαα½ααα·α αα αααααΆααααΆααα ααααααααααααΌααααΈααααα α»αααΌα αα½αα’αΆα αααααααΆαα ααΆαααΆαα’αααααα·αα·ααααααΆααααα·αααααααΎαααΊααΆα’ααααααααααααααααα½αα
ααΎααααΈαααα αΆαααΈα’αααΈαααα§αααααααα‘αΎα TVM ααΎααα ααΌα ααΆααααααααα αααα»α Haskell ααΎαααΆαα’αα»ααααααΆααΌααααααααΆααα ααΎααΆα αααααΆααΏααα½αα ααα½ααααααααΌαααα α·ααααα»αααΆααα
- αα·α αα αααααΆαααααΆααα»αααΆααα½α ααα»ααααα’αααα’αΆα ααααΎααΆαα αααΎαααΆααααα’αααα αΌαα α·αααα αα αααα’αααααααααα»αααΆαααααΈααΆααΆααΆαααΆαααΈα (α§. Haskell) eDSL ααααααΎαα’αα»ααααΆαα±ααα’αααααααΎαααΎαααΆααΎα’αααα ααα±ααααΆααααΆαααΆαααααΆααααΆα ααααα‘αααα αααα»α TVM α¬ααααΆααααααΆαααααα αΌααα α ααα»α ααααΆαα α ααΌαααααα
- ααΌα Haskell αα»αααΆαααΆααααααααααααααΌαααΆααα·αα·ααααα αααα αααααα αα αααα»α 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 αα·αα αααααααΆα αααΎαααααααΎαα’αΆα ααααΆααα αα·αβα αααΎαβααα α’αααΈααΆααΆαααααααΆααααααΆαα½α αα αααα·αααααααΎα Georgy Agapov α
ααα ααααΈααααα·ααααΆαα’αααΈααΆαααααα½ααααααααα·α TON
ααα»ααα ααΆαααΆαααααααΎαααΆαα αααΆαααα 380 αααα (αα½αααΆααααΆααααααΉαα’αααΈα―αααΆα ααΆαααααα»α αα·αααΆαα’αα·ααααααααΆααααααα)α α’αααα’αα·αααααα XNUMX ααΆααααΆαα αΌααα½ααααα»αααααααααααα½ααααααα: CTO, α’αααααΉαααΆααααα»α, α’αααα―αααααααα·ααΆ blockchain αα·αα’ααααααααΎααααααα·ααΈ Haskell α
ααΎαααΆαααααΎαααααΆαααΎααααΈα αΌααα½ααααα»αααΆαααααα½ααααααααΆαααΆαααααΆα α αΆααααΆααααΈααααΆαααΈααααΆα hackathon ααΆαααΆαααΆαααα»ααααΆααα·ααααα·ααα αα·ααααααΌαααΆααααα»αααΆααααα αΌααααα½αααΎααααΆαααΆαααα αααα αααα»ααα·αααααΆααααα αα αααα·ααααΆααααΈαααΊααααααα½αα±ααααααΎαα ααΆαααααα·ααααααΆα αααΎααααααΎααααΈααα½αααΆαααααααα’αα·ααααΆαα αααα»αααααααααααααααΆαααΆααααααααααΌαααΆαααΌααΆααααααααα·αααααααααα·αα’αΆα ααΆααααααααΆα αα·αααΆαα αα αΆαααααα’α ααΎαααΈααα ααΆαααααΎααΆαααΎαα·α αα ααΆαααααααααΊαααααααΆααΆαααΆαααααααααα’ααααααΎαααΆααααααααα»αα αα»α αααααααΆαα·ααΆαααααΆααααΆαααααα»αααΆααααααα ααΆαααΌααααααααααααααα·αααααΆαα αααααααΆαα’αααααααααααααααα»ααααααααΎαααΆαααΆαααα’α
α’αααααα ααααααα½αα‘ααα ααΎαα αΆααα’αΆααααααααΉαα ααα½αααΆαααΆααααααΆααααααααα»α TON α αα½αααααΆααααααααααααΎααααΈααΆααααααααααααααΆαααΆααααααα»αααααΆα αααααααα’αΆα α αΎαααααΆαααααα»αα TON ααΆααααα αΆααααα½αα―αααΆααΆαααα·ααΆαα½ααααααΆααααααΆαα»ααααα’ααα αΆαααα αααααΆαααΆαααΆααααα ααΎααααΈα±ααααααααααα’αααΌα‘αΌαααΈαααα’αα·ααααααΆα α αΆαααΆα αααααΌαααααΎα αααΎαααα ααΆααααΆαααααΎααααΆααααααααΆαα αααα»ααααααα blockchain αα·ααααα»αααααααααααααΆααααααα’α§αααααα’αα·ααααααα ααΎαβααΆαβααααααΆαβαααβααΆαβααααΆαβααΆβαααααβαα½αβααβααααΎαααΆαβαααα
ααααα·αααΎαααααΆααααΈα’αΆαα’αααααααα α’ααααα ααααΆαα ααααα α¬ααΆααααα·αα’αααΈααααααααΎ TON ααΎααααΈαααααααΆααααα αΆααααα’αααα - ααΎαααΉαααΈαααΆααααα»αααΆαα ααααααααααα·αααααααααααΎαα
ααααα: www.habr.com
